-4

我正在尝试在 HTML 表单上调用 jquery 函数。它不起作用,我想检查'key'字段长度是否不应小于 10。但看起来,函数 checkError 根本没有被调用。

<form action="/search" method="get" onsubmit="if (document.getElementById('key').value.length < 10) checkError();"> 

完整代码在这里:http: //jsfiddle.net/7UwsN/

4

2 回答 2

2

问题是您的表单是在调用 return false 之前提交的。如果您使用 onsubmit 内联,则必须为 false;这样它就不会提交表单

于 2013-03-16T05:14:08.230 回答
2

你并没有真正正确地解决这个问题。您说您正在尝试在 HTML 代码中调用 jquery 函数,但实际上您正在执行 if 条件,然后可能会调用函数。

如果你将所有的处理都转移到一个 javascript 函数中,它会更好,而且干扰更少。如果您使用 jQuery,请查看设置submit()事件函数,然后在那里进行处理。在此函数中返回true然后提交表单,返回false停止处理表单。

这也可能会以某种方式格式化事物,从而使调试任何类型的错误也变得更加容易......

例如:

jQuery:

$(document).ready(function() {
    $("#formID").submit(function() {
        //do some processing, call other functions, whatever
        if(error)
            return false;
        else
            return true;
    });
});

HTML:

<form action="/search" method="get" id="formID">
于 2013-03-16T05:15:13.970 回答