从Titanium应用程序中的表单字段保存数据

时间:2011-03-09 07:26:25

标签: javascript input titanium storage

我正在使用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/

1 个答案:

答案 0 :(得分:1)

在表单的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);
});

然后,基本上反过来另一种形式从Titanium检索属性并设置输入字段值。

<强>更新

完整的例子(再次,不确定我完全理解所需的互动):

$(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);
});