在表单上处理不需要重定向或过多JavaScript的必填字段
问题描述:
我对以下问题有一些奇怪的限制。 (我的朋友对JavaScript不太了解,他们也不理解信息发送后会发生什么,也就是说,他们不了解Java,也不了解后端会发生什么,因此,我正在做的任何潜在的解决方案最后,因为我试图让所有用户完全查看页面,所以我没有使用太多的HTML5,而IE尚未完全支持。)在表单上处理不需要重定向或过多JavaScript的必填字段
我想要做以下事情:我想要一个表格,人们可以填写。如果他们没有填写必填字段,我想在不重定向的情况下通知他们。我可以使用HTML标记以下列方式
<input type="text" name="EMAIL" id="EMAIL" value="" required="required" /> ?
我可以把这个包形式的的onSubmit()函数,它说,
function onSubmit()
{
for (each_required_field)
{
if (cur_val == null || cur_val == '') return();
}
document.submit();
}
我只是不知道这是可能的HTML和JavaScript的。 (我主要知道Java,但我不想重定向整个页面来处理这个问题。我可以在不必重定向客户端的情况下获取变量EMAIL的值吗?)
答
您不需要jQuery。在学习jQuery之前,应该学习JavaScript。
<input type="text" name="EMAIL" id="email" value="" required="required" /> <div id="email-err"></div>
function onSubmit()
{
for (node in document.getElementById('myform').childNodes)
{
if (node.value == '')
{
// add an asterisk to error field next to input
document.getElementById(node.id + "-err").innerHTML = "*";
return; //note that return is not a function
}
myForm.submit(); // this is just for illustration
}
您可能还需要寻找到服务器端和客户端的电子邮件验证正则表达式,以确保它是一个有效的电子邮件地址。
刚刚使用jQuery和验证插件怎么样?这会更容易维护解决方案吗? – kinakuta 2012-03-12 23:18:10
完全正确。但是,某些旧版浏览器不支持该验证,但这是我正在寻找的功能。 (IE不支持我看到的;我不知道它是否与你正在谈论的那个一样...) – Sal 2012-03-12 23:20:03
我正在讨论应该支持IE的官方JQuery验证插件:http: //docs.jquery.com/Plugins/Validation – kinakuta 2012-03-12 23:27:33