<head>
<script type="text/javascript">
function validate()
{
var at=document.getElementById("email").value.indexOf("@")
var age=document.getElementById("age").value
var fname=document.getElementById("fname").value
submitOK="true"
if (fname.length>10)
{
alert("名字必须小于 10 个字符。")
submitOK="false"
}
if (isNaN(age)||age<1||age>100)
{
alert("年龄必须是 1 与 100 之间的数字。")
submitOK="false"
}
if (at==-1)
{
alert("不是有效的电子邮件地址。")
submitOK="false"
}
if (submitOK=="false")
{
return false
}
}
</script>
</head>
<body>
<form action="/example/hdom/hdom_submitpage.html" onsubmit="return validate()">
名字(最多 10 个字符):<input type="text" id="fname" size="20"><br />
年龄(从 1 到 100):<input type="text" id="age" size="20"><br />
电子邮件:<input type="text" id="email" size="20"><br />
<br />
<input type="submit" value="提交">
</form>
</body>
</html>
submit只是表单提交时的验证事件,无法获取提交是否成功return false阻止表单提交,自己写ajax提交表单内容
$("#xxx").submit(function () {
$.ajax({ type: 'POST', data: $(this).val(), url: 'xxxx',
success: function () { //...
},
error: function (xhr) {
//...
}
})
return false
})
你想想你提交一下表单 一般都异步的瞬间完事 回来肯定又把值都重置了这个东西我以前弄过一下 就是用户前面提交了一个 视频文件 服务器进行转码 然后提示进度给页面显示,最后我用的办法是 JAVA里做一个STATIC的全局变量 在转码的时候 把进度写进去
然后前台AJAX 定时去一个ACTION取值 和你这个应该差不多
只有进度是100的时候 按钮在变成可以操作状态