问候,
我有以下jQuery Mobile代码:
<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'出现在第一个警告框中,但是''出现在第二个警告框中 - 即完全空白!!!
我尝试过document.getElementById('verifySMS_code')也无济于事。
我甚至尝试过jquery mobile 1.0a3pre
这对我来说是一个非常严重的问题,我不知道如何解决它。
我希望有人可以提供帮助。
非常感谢,
答案 0 :(得分:5)
安装萤火虫
使用
<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=
将显示
如果这是一个问题得到了
价值或放入你输入的东西
进入input元素(jquery mobile
在输入上构建内容)live()
那里blur
事件一样,所以它
当你点击某些东西时会发生
否则,不是在那之前console.log($('input#verifySMS_code'));
将在控制台中弹出您的元素。
如果空阵列弹出 - 没有
这样的元素,它是一个选择器
问题。测试具有重复ID的输入。
显示所有ID:$('input').each(function(){console.log($(this).attr('id'));});
在firebug中运行它,它也将指向DOM,因此您可以在HTML选项卡中单击并找到它们。
答案 1 :(得分:2)
我遇到了同样的问题。不知何故,看起来JQuery Mobile不能很好地处理语法("#someId")
相反,执行("input[id=verifySMS_code]").val()
应该有帮助
答案 2 :(得分:2)
如果你有重复的id(在页面加载或使用changePage()
等之后),那么尝试访问活动页面对象的子项...
防爆。
var myval = $('form#src #search').val(); // returns incorrect (:first) value of the element
替换为
var myval = $.mobile.activePage.find('form#src #search').val();
无论如何,从我工作过:)
答案 3 :(得分:0)
我在特定页面上遇到了同样的问题。然后我意识到我有一些代码正在调用changePage()
到同一页面,从而复制了dom元素及其id。