Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根本不调用Javascript函数_Javascript_Jquery_Html_Mobile - Fatal编程技术网

根本不调用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').

我制作了以下小Javascript脚本以在我的页面上启用一些表单元素:

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();})$('#UserContinue')很容易。单击(函数(){unHide();})方法来自哪里?你在使用插件吗?我从来不知道你可以这样做…这是首选的方式吗?谢谢这绝对是通过jQuery添加事件的最佳实践。@Brendan即使您不使用jQuery,也首选使用常规Javascript添加事件,因为它使Javascript和HTML之间有了更大的分离。我刚刚在Firefox和Chrome中尝试了此解决方案,但仍然不起作用。我在控制台中没有收到任何信息,也没有任何反馈。检查框收音机在哪里