根本不调用Javascript函数
我制作了以下小Javascript脚本以在我的页面上启用一些表单元素:根本不调用Javascript函数,javascript,jquery,html,mobile,Javascript,Jquery,Html,Mobile,我制作了以下小Javascript脚本以在我的页面上启用一些表单元素: function unHide() { if($('#UserName').val() == "") { alert('Please Enter a User Name first'); } else { $('#radio-choice-1').checkboxradio('enable'); $('#radio-choice-2').
function unHide()
{
if($('#UserName').val() == "")
{
alert('Please Enter a User Name first');
}
else
{
$('#radio-choice-1').checkboxradio('enable');
$('#radio-choice-2').checkboxradio('enable');
$('#radio-choice-1-board').checkboxradio('enable');
$('#radio-choice-2-board').checkboxradio('enable');
$('#TransNum').textinput('enable');
$('#UserContinue').remove();
$('#nextButton').show();
}
}
问题是,单击正确的按钮时不会调用此函数。甚至警报也没有出现。以下是HTML:
<label for="UserName" style="vertical-align: top;">User Name:</label>
<input type="text" name="UserName" id="UserName" placeholder="Ex: LesniakBjEVS101" />
...
<a data-role="button" data-icon="check" data-mini="true" id="UserContinue"
style="float:right;" onclick="javascript:unHide(); return false;">Continue...</a>
...
<section id="nextButton" hidden>
<a href="salamanderSelect.html" data-role="button" data-icon="forward"
data-mini="true" style="float:right;">Next</a>
</section>
用户名:
...
我遇到的问题是,当我点击submit按钮时,绝对没有发生任何事情。我没有从Javascript中得到任何反馈,也没有得到任何东西
任何帮助都将不胜感激!
谢谢
编辑:
在尝试了一些建议之后,我仍然无法让javascript做任何事情。我尝试了多种浏览器,但仍然一无所获
我昨天也做了这个…代码也没有任何变化
编辑2:
显然,如果我的脚本是HTML文件中的最后一个内容,即使是在标记之外,它也可以工作 虽然onclick不需要
javascript:
,但它在许多浏览器中仍然可以工作。下面是您的示例:
仅在href
中使用javascript:
虽然我建议在firebug或chrome中使用javascript控制台和调试器进行调试,但其他人提到了在绑定中使用全javascript解决方案。虽然onclick不需要
javascript:
,但它在许多浏览器中仍然可以工作。下面是您的示例:
仅在href
中使用javascript:
虽然我建议在firebug或chrome中使用javascript控制台和调试器进行调试,但其他人提到了在绑定中使用全javascript解决方案。这是更可取的。既然您已经在使用jQuery,为什么不使用它来附加事件,而不是使用笨重的
onclick
属性呢
<a data-role="button" data-icon="check" data-mini="true" id="UserContinue"
style="float:right;">Continue...</a>
既然您已经在使用jQuery,为什么不使用它来附加事件,而不是使用笨重的
onclick
属性呢
<a data-role="button" data-icon="check" data-mini="true" id="UserContinue"
style="float:right;">Continue...</a>
如果您使用的是jQuery,为什么不完全使用它呢?如果这是您所希望的,则结尾处的返回false将阻止click事件继续
编辑:
你在最初的帖子中说:“我遇到的问题是,当我点击提交按钮时,绝对没有发生任何事情。我没有从Javascript中得到任何反馈,也没有得到任何东西。”
然而,您已经在未完成的锚定标记上附加了一个单击事件(它缺少href)。那么,您是否希望在单击submit按钮或单击anchor标记时触发该行为?如果您希望在单击submit按钮时触发触发器,则需要将$(“#UserContinue”)更改为引用submit按钮而不是锚定标记。或者使用.submit()事件处理程序而不是.click()
如果这不是问题所在,那么我建议编辑您的文章,以包含所有代码,并说明在单击哪些元素后您期望的行为
编辑2:
我相信您没有将jQuery包装在.ready()函数周围,请参阅现在包含.ready()的修订代码段。ready()确保在使用jQuery之前完全加载DOM
如果您使用的是jQuery,为什么不完全使用它呢?如果这是您所希望的,则结尾处的返回false将阻止click事件继续
编辑:
你在最初的帖子中说:“我遇到的问题是,当我点击提交按钮时,绝对没有发生任何事情。我没有从Javascript中得到任何反馈,也没有得到任何东西。”
然而,您已经在未完成的锚定标记上附加了一个单击事件(它缺少href)。那么,您是否希望在单击submit按钮或单击anchor标记时触发该行为?如果您希望在单击submit按钮时触发触发器,则需要将$(“#UserContinue”)更改为引用submit按钮而不是锚定标记。或者使用.submit()事件处理程序而不是.click()
如果这不是问题所在,那么我建议编辑您的文章,以包含所有代码,并说明在单击哪些元素后您期望的行为
编辑2:
我相信您没有将jQuery包装在.ready()函数周围,请参阅现在包含.ready()的修订代码段。ready()确保在使用jQuery之前完全加载DOM。保留函数并将事件处理程序添加到JavaScript中,而不是添加到标记中:
$(document).ready(function() {
$('#UserContinue').click(function() {
unHide();
});
});
简短版本:
$(document).ready(function() {
$('#UserContinue').click(unHide);
});
保留函数并将事件处理程序添加到JavaScript中,而不是添加到标记中:
$(document).ready(function() {
$('#UserContinue').click(function() {
unHide();
});
});
简短版本:
$(document).ready(function() {
$('#UserContinue').click(unHide);
});
控制台中是否显示了任何内容?只是建议将单击处理程序放在代码中而不是标记中。使用jQuery
$('#UserContinue')很容易。单击(函数(){unHide();})您的控制台中是否显示了任何内容?只是建议将单击处理程序放在代码中而不是标记中。使用jQuery$('#UserContinue')很容易。单击(函数(){unHide();})我从来都不知道你可以这样做…这是最好的方式吗?谢谢这绝对是通过jQuery添加事件的最佳实践。@Brendan即使您不使用jQuery,也首选使用常规Javascript添加事件,因为它使Javascript和HTML之间有了更大的分离。我刚刚在Firefox和Chrome中尝试了此解决方案,但仍然不起作用。控制台中没有任何信息,也没有任何反馈。checkboxradio和textinput的方法来自哪里?你在使用插件吗?我从来不知道你可以这样做…这是首选的方式吗?谢谢这绝对是通过jQuery添加事件的最佳实践。@Brendan即使您不使用jQuery,也首选使用常规Javascript添加事件,因为它使Javascript和HTML之间有了更大的分离。我刚刚在Firefox和Chrome中尝试了此解决方案,但仍然不起作用。我在控制台中没有收到任何信息,也没有任何反馈。检查框收音机在哪里