Javascript 为什么即使有';什么是错误?
起初我有这个,它工作得很好,但即使有错误,它也会提交:Javascript 为什么即使有';什么是错误?,javascript,form-submit,Javascript,Form Submit,起初我有这个,它工作得很好,但即使有错误,它也会提交: $(document).ready(function(){ $('input[name=subdomain]').keyup(subdomain_check); $('input[name=password]').keyup(password_strenght); $('input[name=c_password]').keyup(password_check); $('input[name
$(document).ready(function(){
$('input[name=subdomain]').keyup(subdomain_check);
$('input[name=password]').keyup(password_strenght);
$('input[name=c_password]').keyup(password_check);
$('input[name=email]').keyup(email_check);
});
所以我把它改成这个,现在它不调用里面的函数了
$(document).submit(function(e){
$('input[name=subdomain]').keyup(subdomain_check);
$('input[name=password]').keyup(password_strenght);
$('input[name=c_password]').keyup(password_check);
$('input[name=email]').keyup(email_check);
return false;
});
这里怎么了?
以下是全部代码:不知道验证函数返回的确切内容,但是,如果是布尔值,您可以执行如下操作:
$("#formId").submit(function(e){
if(!subdomain_check() || !password_strenght() || !password_check() || !email_check()) {
e.preventDefault();
}
});
在提交事件发生之前,您不会附加keyup事件处理程序。此时,用户已完成所有字段的键入 将对
$(…).keyup(…)
的调用移回dom就绪事件。实际上,您需要一个额外的事件处理程序来检查用户输入:
$(document)
.ready(function(){
$('input[name=subdomain]').keyup(subdomain_check);
$('input[name=password]').keyup(password_strenght);
$('input[name=c_password]').keyup(password_check);
$('input[name=email]').keyup(email_check);
})
.submit(function(e) {
// validate input
// if invalid, show error message and call e.preventDefault();
});
一般用户工作流程是:
domready
事件时,请附加keyup事件处理程序删除
返回false代码>我认为这个问题需要进一步澄清。这里没有足够的信息。定义哪些不起作用、可能出现的任何错误、这些函数的定义位置以及如何定义。那么也许有人能帮你。还返回假;将导致提交函数无法执行。此代码看起来很奇怪。你可以在提交时添加keyup
listeners…?你可以共享子域检查、密码检查、密码检查、电子邮件检查功能定义吗?我认为这个答案指向了正确的方向。但是,您可能需要更正一些问题:它可能应该是$('#formId')。submit(…)
,并且您应该调用if语句中的函数,即子域检查()
,等等。
$(document).ready(function(){
$('input[name=subdomain]').keyup(subdomain_check);
$('input[name=password]').keyup(password_strenght);
$('input[name=c_password]').keyup(password_check);
$('input[name=email]').keyup(email_check);
function subdomain_check (e) {
// these functions should set a global variable to false if validation fails
}
function password_strenght (e) {
// these functions should set a global variable to false if validation fails
}
function password_check (e) {
// these functions should set a global variable to false if validation fails
}
function email_check (e) {
// these functions should set a global variable to false if validation fails
}
$(document).submit(function(e){
return global_var; // where global_var is the variable set by the validating functions
}
});