0

私はjqueryモバイルが初めてなので、ボタンがクリックされたときにページ1の動的入力テキストボックスの値を次のページ2に渡す方法がわかりませんが、サンプルを見ましたが、ボタン送信のコマンドはありません

<div data-role="page">

    <div data-role="header">
        <h1>My Title</h1>
    </div><!-- /header -->

    <div data-role="content">
        <form method="post" action="processForm.php">                    
        <li data-role="fieldcontain"> 
            <label for="children" class="select">Number of Kids</label>
            <select name="children" id="children" data-mini="true">
               <option value="0">0</option>
               <option value="1">1</option>
               <option value="2">2</option>
               <option value="3">3</option>
            </select> 
        </li>
            <div id="kidsFields"></div>
    </form>        
    </div><!-- /content -->

</div>

var html = '';
$('#children').on('change', function() {
    children = $(this).val();
    html = '';
    for (var i = 0; i < children; i++) {
        html += '<label>Name</label><input type="text" id="textName' + i + '" name="child' + i + 'Name" /><label>Age</label><input type="text" name="child' + i + 'Age" id="textAge' + i + '" />';
    }

    $('#kidsFields').html(html);
    $('#kidsFields').append('<input type="submit" value="Submit" />');

    $('.ui-page').trigger('create');
});

http://jsfiddle.net/HwFFU/1/

4

2 に答える 2

1

送信ボタンに id を追加します。

 $('#kidsFields').append('<input id="submitBtn" href="#page2" type="submit" value="Submit" />');

クリック イベントを追加します。

$("#submitBtn").off('click').on('click', function () {

  // page1 is the id of the data-role page, having input type elements
  var formData =  $("#page1 :input").serializeArray();
  // sessionStorage.setItem("inputValues", JSON.stringify(formData));

});

この formData を sessionStorage に保存できます。これは、他のページで使用するために、各入力タイプとそれに関連付けられた値を持つ JSON キー値オブジェクトの文字列表現です。このアイテムを取得するときは、JSON.parse(sessionStorage.getItem("inputValues")); を解析する必要があります。

于 2013-10-04T04:30:35.820 に答える
0
On page1 you can store with local storage

use button instead of type="submit"
>> frm is form id
<input type="button" value="Submit" id="btn_submit" />


$('#btn_submit').on('click', function(event) {
  event.preventDefault();
if(event.handled !== true)
    {  
    localStorage.setItem("formdata",  $('#frm').serialize());
    event.handled = true;
}
return false;
});


On page2 load event get local storage value.

$('#page2').on('pageshow',function(event){
if(event.handled !== true){ 
   localStorage.getItem("formdata");
   event.handled = true;
}
return false;
});
于 2013-10-04T04:53:40.403 に答える