在钛应用程序中保存表单字段的数据

问题描述:

我使用html和javascript在钛上编写程序,并且我有一个表单设置页面,用于设置其他表单字段的值,以便保存输入到文本中的数据并在下次启动程序或重新加载页面时加载它们,我将如何以简单的方式执行此操作?在钛应用程序中保存表单字段的数据

<div id="formh"> 
    <form id="form"> 
     <select name="test" id="test"> 
      <option id="op1" value="1">1234</option> 
      <option id="op2" value="2">2134</option> 
     </select> 
    </form> 
</div> 
<div id="st"> 
    <form name="settings"> 
     Op1 Value<input type="text" value="" id="inputOpt1" /> 
     Op2 Value<input type="text" value="" id="inputOpt2" /> 
    </form> 
</div> 

http://jsfiddle.net/hSyY3/

+0

?真的不明白你为什么使用html文件 – 2011-03-09 12:32:28

在表单的onsubmit事件(或的onChange的投入,如果你不想要一个提交按钮),您可以使用Titanium.DatabaseTitanium.App.Properties保存设置 - 我觉得后者会在这种情况下更合适。这里将是jQuery的一个例子(为简单起见,虽然你可以做到这一点没有):

$("form[name='settings']").submit(function(){ 
    var val1 = $('input#inputOpt1').val(); 
    Titanium.App.Properties.setString("opt1", val1); 
    var val2 = $('input#inputOpt2').val(); 
    Titanium.App.Properties.setString("opt2", val2); 
}); 

然后,基本上做的是相反的其他形式的检索钛属性和设置输入字段值。

UPDATE

全比如(再次提示,不知道,我完全理解所需的交互):你为什么要使用钛这样

$(document).ready(function(){ 
    $("form[name='settings'] input").change(function(){ 
    // these will happen on every change to the input values 
    var val1 = $('input#inputOpt1').val(); 
    Titanium.App.Properties.setString("opt1", val1); 
    var val2 = $('input#inputOpt2').val(); 
    Titanium.App.Properties.setString("opt2", val2); 
    }); 

    // these will only happen right after the page loads 
    var setting1 = Titanium.App.Properties.getString("opt1"); 
    $("form#form op1").val(setting1); 
    var setting2 = Titanium.App.Properties.getString("opt2"); 
    $("form#form op2").val(setting2); 
}); 
+0

什么是相反的?此外,它的形式相同,但重新加载时默认为空白。请解释一下,我是新来的 – jackson5 2011-03-09 08:11:37

+0

我会使用getstring而不是setstring吗? – jackson5 2011-03-09 08:13:56

+0

这项工作? '(“form [name ='settings']”)。load(function(){ var val1 = $('input#inputOpt1')。val(); Titanium.App.Properties.getString(“opt1” ); var val2 = $('input#inputOpt2')。val(); Titanium.App.Properties.getString(“opt2”); });' – jackson5 2011-03-09 08:16:15