gpt4 book ai didi

javascript - JQuery Mobile - 返回 false 不阻止表单提交

转载 作者:行者123 更新时间:2023-11-30 18:36:02 26 4
gpt4 key购买 nike

alert() 工作正常,但 return false 不会停止发布表单 - 有什么想法吗?

<script type="text/javascript">
function form_val() {
//Check date
var email=document.getElementById('email').value;
var passw=document.getElementById('password').value;
if(email==''||email==null||passw==''||passw==null) {
alert('Please fill in both fields.');
return false;
}

}
</script>

<form action="userlogin.html" method="post" name="log_form" onsubmit="return form_val();">
<div data-role="fieldcontain">
<input type="email" name="email" id="email" value="" placeholder="Email Address" />
<input type="password" name="password" id="password" value="" placeholder="Password" />
<div class="ui-grid-a">
<div class="ui-block-a">
<button type="submit" name="login" value="" data-theme="c">Sign In</button>
</div>
<div class="ui-block-b">
<br />
<a href="http://mobile.*****.com/lostpswd.html" rel="external" style="font-size:10px; padding-left:10px;">Forgotten Password?</a>
</div>
</div>
</form>

最佳答案

您已将您的问题标记为 jquery-mobile,但您并未在引用代码中的任何地方使用 jQuery。

代码看起来以一种老式的 DOM0 方式正确(这没问题,除了 issues with getElementById on IE7 and earlier 之外应该仍然有效)。我会稍微更改 form_val 中的检查:

function form_val(){
//Check date
var email=document.getElementById('email').value;
var passw=document.getElementById('password').value;
if(!email || !passw) {
alert('Please fill in both fields.');
return false;
}
}

...但是,除了上面列出的 IE 问题或页面上未显示的代码中的其他脚本错误,您可能应该已经解决了这些问题。

以下是您如何使用 jQuery(它会自动为您解决 IE 错误):

jQuery(function($) {
$("form[name='log_form']").submit(form_val);
});
function form_val() {
if (!$("#email").val() || !$("#password").val()) {
alert('Please fill in both fields.');
return false;
}
}

...或者如果您不需要 form_val 是全局的(尽可能避免全局函数,并且它不需要是全局的只是为了验证此表单):

jQuery(function($) {
$("form[name='log_form']").submit(form_val);
function form_val() {
if (!$("#email").val() || !$("#password").val()) {
alert('Please fill in both fields.');
return false;
}
}
});

关于javascript - JQuery Mobile - 返回 false 不阻止表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8180846/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com