javascript里面的onsubmit函数时干嘛的?

JavaScript011

javascript里面的onsubmit函数时干嘛的?,第1张

onsubmit是用来在提交表单前执行一些事件的,比如验证表单,根据它绑定的事件返回值为true还是false来决定表单是否提交。

需要放在form内的type=submit 的input中才有效 比如:<form><input type="submit" onsubmit="ooxx()" /></form>

Form 对象的 onsubmit 属性指定了一个事件句柄函数。当用户单击了表单中的 Submit 按钮而提交一个表单时,就会调用这个事件句柄函数。注意,当调用方法Form.submit() 时,该处理器函数不会被调用。

如果 onsubmit 句柄返回 fasle,表单的元素就不会提交。如果该函数返回其他值或什么都没有返回,则表单会被提交。

例子:

<html>

<head>

<title>Using the onSubmit event handler for the Form object</title>

</head>

<body>

<script language="JavaScript">

function check(){

var result

var num=document.getElementById("num").value

if(num==1){

alert(num)

result=true

}

if(num==0){

result=false

}

return result

}

</script>

<form name="form1" onSubmit = "return check()">

<b>Enter Num:</b>

<br>

<input type="text" id="num" />

<br><br>

<input type ="submit" Value="Submit" >

</form>

</body>

</html>

LZ有4个错误哦

1.原代码:str1.length()==0

这里在获取字符串长度时,用的length是属性不是方法,改为

str1.length == 0

2.FORM的onsubmit事件,全小写

3.在设置onsubmit事件时,直接赋了串字符串是不对的

应该是test.onsubmit=function(){return checkForm1()}

如果事件只是调用一个0参数的方法,也可以这样test.onsubmit=checkForm1

4.LZ的input本来是submit类型,不需要再去调用test.onsubmit()和test.submit()

//====修改后======

<%@ page language="java" contentType="text/htmlcharset=UTF-8"%>

<html>

<head>

<title>Insert title here</title>

<script language=javascript>

function checkForm1()

{

var str1 = document.test.str1.value

if(str1.length==0)

{

alert("请输入一个整数!")

return false

}

return true

}

function checkForm2()

{

var str1 = document.test.str1.value

var int1 = parseInt(str1)

if(int1<10)

{

alert("请输入一个大于10的整数!")

return false

}

return true

}

</script>

</head>

<body>

<form name="test" method="post">

<input type="text" name="str1"></input><br>

<input type="submit" value="预览" onClick= "test.action = 'test.jsp'test.onsubmit=function(){return checkForm1()}"><br>

<input type="submit" value="提交" onClick= "test.action = 'test.jsp'test.onsubmit=function(){return checkForm2()}"><br>

</form>

<br>

<br>

<input type="text" name="str2" value="<%=request.getParameter("str1")%>"></input><br>

</body>

</html>