3

ご挨拶、

私は次のjQueryMobileコードを持っています:

<div data-role="content">
  A confirmation code has been sent to your mobile phone via SMS
  <br><br>
  To proceed, please enter the 3-digit confirmation code below:
  <br>
  <input id="verifySMS_code" type="text"  /><br>
  <a id="verifySMS_submit" href="#" data-role="button">Submit</a>
</div>

これが私のJavaScriptです:

$(document).ready(function(){
  $("#verifySMS_submit").live("click",function() {
    alert('hi');
    var code=$('input#verifySMS_code').val();
    alert(code);
  });
});

'hi'は最初のアラートボックスに表示されますが、''は2番目のアラートボックスに表示されます-つまり、完全に空白です!!!

document.getElementById('verifySMS_code')も試しましたが、役に立ちませんでした。

jquerymobile1.0a3preも試しました

これは私にとって本当に深刻な問題であり、それを修正する方法がわかりません。

誰かが助けてくれることを願っています。

よろしくお願いします。

4

4 に答える 4

5
  1. Firebugをインストールする

  2. でテストする

<input id="verifySMS_code" type="text" value="someoldvalue" />

$(document).ready(function(){
  $("#verifySMS_submit").bind("submit",function() {
    console.log($('#verifySMS_code'));
    var code=$('#verifySMS_code').val();
    console.log(code);
  });
});

これが理由です:

  • 入力のvalue=は、値の取得に問題があるのか​​、入力したものを入力要素に入力するのに問題があるのか​​を示します(jquery mobileは入力に何かを構築します)
  • 「#verifySMS_submit」に一致する新しい送信ボタンは生成されないため、そこには必要live()ありません
  • クリックして送信してみてください。jquery mobileは、入力のblurイベントなどの特定の瞬間に入力コントロールから入力自体にテキストを配置していると思います。そのため、その前ではなく、他の何かをクリックしたときに発生します。
  • console.log($('input#verifySMS_code')); コンソールに要素がポップアップ表示されます。空の配列がポップアップする場合-そのような要素はなく、セレクターの問題です。

IDが重複している入力をテストします。

これにより、すべてのIDが表示$('input').each(function(){console.log($(this).attr('id'));}); されます。firebugで実行するとDOMもポイントされるため、クリックしてHTMLタブで見つけることができます。

于 2011-01-17T08:18:18.170 に答える
2

私も同じ問題を抱えていました。どういうわけか、JQueryMobileは構文をうまく処理していないようです("#someId")

代わりに、行うこと("input[id=verifySMS_code]").val()は役立つはずです

于 2011-09-28T14:43:59.093 に答える
2

(ページの読み込み中や使用後changePage()などに)重複したIDを取得した場合は、アクティブなページオブジェクトの子にアクセスしてみてください...例。

var myval = $('form#src #search').val(); // returns incorrect (:first) value of the element   

と置換する

var myval = $.mobile.activePage.find('form#src #search').val(); 

とにかく、私から働いた:)

于 2013-08-13T13:31:10.797 に答える
0

特定のページで同じ問題が発生しました。次に、同じページを呼び出すコードがありchangePage()、それによってdom要素とそのIDが複製されていることに気付きました。

于 2013-07-30T15:42:32.290 に答える