为什么这个表单验证不起作用?我这样做:
<form name="myForm" action="save-info.php" method="post" onsubmit="return(validu());">http://jsfiddle.net/QrYmh/41/
我试图向我的表单中添加一个验证函数,但是即使我直接返回false,它也不能工作。表格还在提交,有什么问题吗?
我需要为我的输入添加一些验证逻辑。但我似乎做不到。js调试器(火狐)说ReferenceError: validu没有定义
请帮帮忙
发布于 2013-10-15 16:13:22
由于您已经在使用jQuery,所以您可以使用可用的方法。
检查这把小提琴
$(document).ready(function () {
$('form').submit(function (e) {
e.preventDefault();
alert('vdsdsfsdf');
//validate and submit.
});
}发布于 2013-10-15 16:24:35
要能够从function属性引用on*,必须在全局范围内定义它。
由于validu()当前在另一个function中声明,onsubmit属性根本无法到达它。
要使validu()成为全局的:
$(document).ready(function () { })的function validu()。
附带注意,.ready()事件对于function声明并不是真正必要的。当您需要从document中选择元素时,它们非常有用:
函数handleSubmit(事件){ // .}$(Document).ready(函数() {$(‘formname=“myForm”).submit(HandleSubmit);});function中的onLoad更改为:- `No wrap - in <head>`
- `No wrap - in <body>`
或者,正如karthikr所建议的那样,您也可以使用非突发性JavaScript而不是onsubmit属性,这样事件绑定和function可以在相同的范围内。
$(document).ready(function () {
function validu() {
alert('vdsdsfsdf');
return false;
}
$('form[name="myForm"]').submit(validu); // <----
});修正Fiddle。
发布于 2013-10-15 16:24:18
函数validu()必须由html代码访问。在这种情况下,它只能在jquery函数中访问。
不幸的是,不可能简单地将其置于jsfiddle中的就绪函数之外以使其工作,因为jsfiddle本身将js代码放置在一个窗口加载函数中。所以你得这样写,
<script>function validu()
{
alert('vdsdsfsdf');
return false;
}</script>
<form name="myForm" action="save-info.php" method="post" onsubmit="return(validu());">
<div class="container" style="width:700px; margin:0 auto;">
<fieldset>
.....http://jsfiddle.net/QrYmh/52/
https://stackoverflow.com/questions/19385991
复制相似问题