Php ';onclick';不';t似乎无法使用';提交';按钮
我已经多次遇到这个问题(我不想在这里使用“input type button”),为什么“onclick”不调用函数check()?即使字段为空,页面仍会提交。谢谢你的评论 Javascript:Php ';onclick';不';t似乎无法使用';提交';按钮,php,javascript,html,Php,Javascript,Html,我已经多次遇到这个问题(我不想在这里使用“input type button”),为什么“onclick”不调用函数check()?即使字段为空,页面仍会提交。谢谢你的评论 Javascript: function check() { var name = document.getElementById('username_res'); var passw_old = document.getElementById('passw_reset_old'); var p
function check() {
var name = document.getElementById('username_res');
var passw_old = document.getElementById('passw_reset_old');
var passw_new = document.getElementById('passw_reset');
var button_res = document.getElementById('sub_res');
if ((name.val() == "") && (passw_old.val().length == "") && (passw_new.val().length == "")) {
button_res.disabled = true;
} else {
button_res.disabled = false;
}
}
HTML:
密码重置
所以…页面不应该在空字段上提交-为什么提交?谢谢..您需要将按钮的类型从type=“submit”更改为type=“button”,然后在check()函数中,如果一切都通过了,您需要获取表单对象并提交它
因此,类似document.getElementById('formID').submit()您需要将按钮的类型从type=“submit”更改为type=“button”,然后在check()函数中,如果一切都通过了,则需要获取表单对象并提交它
因此,类似document.getElementById('formID').submit()的内容将函数更改为:
function check() {
var name = document.getElementById('username_res').value;
var passw_old = document.getElementById('passw_reset_old').value;
var passw_new = document.getElementById('passw_reset').value;
return ((name != '') && (passw_old != '') && (passw_new != ''));
}
实际上,您不必将onclick事件更改为onsubmit,只需将其更改为onclick=“return check();”
。您需要将onclick事件返回false以防止触发它
您可能需要添加一些视觉增强功能,以指示表单未提交的原因。否则会使访问者感到困惑。将您的功能更改为:
function check() {
var name = document.getElementById('username_res').value;
var passw_old = document.getElementById('passw_reset_old').value;
var passw_new = document.getElementById('passw_reset').value;
return ((name != '') && (passw_old != '') && (passw_new != ''));
}
实际上,您不必将onclick事件更改为onsubmit,只需将其更改为onclick=“return check();”
。您需要将onclick事件返回false以防止触发它
您可能需要添加一些视觉增强功能,以指示表单未提交的原因。否则会使访问者感到困惑。您需要返回
false
,以避免事件传播
例如。您需要返回
false
以避免事件传播
例如。您可以尝试改用表单的onSubmit函数
<form id="passw_res" action="pass_reset.php" onSubmit="check()">
您可以尝试改用表单的onSubmit函数
<form id="passw_res" action="pass_reset.php" onSubmit="check()">
页面提交,因为检查()脚本中没有任何内容可以阻止它。您的脚本仅在验证时禁用按钮,但此时单击/提交已经发生,因此表单将提交
所以使用onsubmit='return check();'代码>,并根据验证返回true或false,而不是禁用。如果check()返回false,则“停止”提交操作,如果返回true,则继续提交操作 页面提交,因为check()
脚本中没有任何东西可以阻止它。您的脚本仅在验证时禁用按钮,但此时单击/提交已经发生,因此表单将提交
所以使用onsubmit='return check();'代码>,并根据验证返回true或false,而不是禁用。如果check()返回false,则“停止”提交操作,如果返回true,则继续提交操作 您试图对一个javascript变量调用jquery方法
试试这个
if ((name.value == "") && (passw_old.value == "") && (passw_new.value == "")) {
return false;
} else {
return true;
}
您提交的按钮应该是
<input type="submit" value="submit" id="sub_res" name="sub_res" onclick="return check();"/>
您试图对一个javascript变量调用jquery方法
试试这个
if ((name.value == "") && (passw_old.value == "") && (passw_new.value == "")) {
return false;
} else {
return true;
}
您提交的按钮应该是
<input type="submit" value="submit" id="sub_res" name="sub_res" onclick="return check();"/>
您不能使用onsubmit
事件的任何原因?请使用onsubmit
。并且返回false在您的函数中使用code>,以防止在必要时提交。有任何原因不能使用onsubmit
事件吗?请使用onsubmit
。并且返回false代码>在你的函数中,以防止在必要时提交。是的,对于没有启用javascript的访问者来说非常好:他们将无法发布表单。抱歉,但我个人认为不使用javascript有点糟糕。。。你现在怎么能不使用javascript呢?我可以理解有些人不想使用Flash(仍然想知道为什么“因为Flash还可以”)但是JS?来吧……Facebook也建立在它的基础上;]是的,对于没有启用javascript的访问者来说非常好:他们将无法发布表单。抱歉,但我个人认为不使用javascript有点糟糕。。。你现在怎么能不使用javascript呢?我可以理解有些人不想使用Flash(仍然想知道为什么“因为Flash还可以”)但是JS?来吧……Facebook也建立在它的基础上;]本来要编辑的,但没有,以防我遗漏了什么。您的变量是对象,但您可以将它们与字符串进行比较。谢谢!是的…现在似乎可以工作了-onclick='return check();'是正确的…我还将值更改为(name.value==“”)| |(..)而不是(name.val()==“”)..将要编辑,但没有以防万一我遗漏了什么。您的变量是对象,但您可以将它们与字符串进行比较。谢谢!是的…现在似乎可以工作了-onclick='return check();'是正确的…我还将值改为(name.value==“”)| |(…..)而不是(name.val()==“”)。。