验证特定输入,Javascript

时间:2009-02-02 22:29:41

标签: javascript validation forms

<form action="/cgi-bin/Lib.exe" method=POST name="checks">  

     <input type=checkbox name="user1" value="'$NAME'">      
     <input type=checkbox name="user2" value="'$NAME'">     
     <input type=checkbox name="user3" value="'$NAME'">     

<input type="button" value="User 1" onclick="somefunction()">

例如,如果我选中了复选框user2,我希望弹出的javascript函数说“你不是用户1 ......”(所有输入复选框都在相同的表单名称下)。

验证特定复选框名称后,我将执行document.checks.submit();

感谢。

3 个答案:

答案 0 :(得分:2)

我建议对sktrdie的回复进行一些改进。 这样可以避免在错误时提交表单。

<form action="".... onsubmit="return somefunction(this);">

function somefunction(f) {
    var user1 = f.user1;
    var user2 = f.user2;
    // etc..
    if(user2.checked) {
        alert("you are not user1");
        return false;
    } 
    return true;
}

注意#1:此示例非常简单且不那么灵活,因此有关表单验证的额外阅读将是个好主意。在w3schools

上说

注意#2:不要忘记实现服务器端验证。可以很容易地避免JS检查。

答案 1 :(得分:1)

<form onsubmit="somefunction(this);" ...

function somefunction(f) {
    var user1 = f.user1;
    var user2 = f.user2;
    // etc..
    if(user2.checked) alert("you are not user1");
}

答案 2 :(得分:0)

您可能希望使用复选框的onclick事件进行验证...因此,当他们点击它以打开/关闭它时,您可以在表单提交之前立即捕获它们。

<input type=checkbox name="user1" value="'$NAME'" onclick="javascript:validatecheckbox(document.checks.user1);">

然后你要在JS函数中验证什么:(抱歉由于某种原因,这段代码的编码不正常......但希望你能得到这个想法)

<script language="javascript">

function validatecheckbox(inputbox) {   if(inputbox.checked)     alert(r u'+ inputbox.name +'?'); }