2012-03-12 18 views
1

我对以下问题有一些奇怪的限制。 (我的朋友对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的值吗?)

+1

刚刚使用jQuery和验证插件怎么样?这会更容易维护解决方案吗? – kinakuta 2012-03-12 23:18:10

+0

完全正确。但是,某些旧版浏览器不支持该验证,但这是我正在寻找的功能。 (IE不支持我看到的;我不知道它是否与你正在谈论的那个一样...) – Sal 2012-03-12 23:20:03

+1

我正在讨论应该支持IE的官方JQuery验证插件:http: //docs.jquery.com/Plugins/Validation – kinakuta 2012-03-12 23:27:33

回答

1

您不需要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 

} 

您可能还需要寻找到服务器端和客户端的电子邮件验证正则表达式,以确保它是一个有效的电子邮件地址。