【问题标题】:Validate specific input, Javascript验证特定输入,Javascript
【发布时间】:2009-02-02 22:29:41
【问题描述】:
<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();

谢谢。

【问题讨论】:

  • 如果您已经知道某个特定的复选框对用户无效,那么您为什么要提供它?
  • 我的示例已针对该问题进行了修改。我有一组用于排序的单选按钮和一组用于删除的复选框。我有一个排序按钮和一个删除按钮。如果您选择排序并点击删除,它会立即提交表单。两个按钮执行相同的提交。
  • 好吧..没关系.. :)

标签: javascript validation forms


【解决方案1】:

我建议对 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 检查很容易避免。

【讨论】:

    【解决方案2】:
    <form onsubmit="somefunction(this);" ...
    
    function somefunction(f) {
        var user1 = f.user1;
        var user2 = f.user2;
        // etc..
        if(user2.checked) alert("you are not user1");
    }
    

    【讨论】:

      【解决方案3】:

      您可能希望使用复选框的onclick 事件进行验证...所以当他们单击它以将其打开时on/off 您可以在提交表单之前立即捕获它们。

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

      然后你想在 JS 函数中验证什么:(抱歉,由于某种原因,这段代码的编码不正确......但希望你明白)

      <script language="javascript">
          function validatecheckbox(inputbox) {
              if (inputbox.checked)
                  alert ('Are you ' + inputbox.name + '?');
          }
      </script>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-17
        • 2012-05-17
        相关资源
        最近更新 更多