Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript/Jquery复选框条件超链接_Javascript - Fatal编程技术网

Javascript/Jquery复选框条件超链接

Javascript/Jquery复选框条件超链接,javascript,Javascript,我有一个超链接/图像按钮,它使用javascript提交表单 <p> <a href="#" onclick="checkOutFrm.submit();"> <img src="images/btn-checkout-basket.gif" width="169" height="28" alt="Checkout" border="0" /> </a> </p> 并希望添加一个复选框,该复选框将禁用超链接,直

我有一个超链接/图像按钮,它使用javascript提交表单

<p>
  <a href="#" onclick="checkOutFrm.submit();">
    <img src="images/btn-checkout-basket.gif" width="169" height="28" alt="Checkout" border="0" />
  </a>
</p>

并希望添加一个复选框,该复选框将禁用超链接,直到选中为止。我该怎么做呢


非常感谢您的帮助。

您可以使用Jquery Validator强制执行。

在提交数据之前,您可以先检查复选框的值

<a href="javascript: if(getElementById('CheckBoxID').checked) { checkOutFrm.submit(); } else { return false; }">

一般而言,您不应:

  • 将JavaScript混合到HTML标记中(您应该以编程方式附加逻辑处理程序)
  • (ab)仅对JavaScript使用锚元素(您应该使用按钮,或者将
    onclick
    处理程序直接放在img上),或者
  • 在单击单个元素时放置表单的提交处理程序(您应该处理表单的
    onsubmit
    事件)
  • 我不知道您的具体情况,但我会在您的HTML文件中这样做:

    <!-- Put a valid doctype here -->
    <html><head>
      <script type="text/javascript" src="submit.js"></script>
    </head><body>
      <form id="myform" ...>
        <label>
          <input type="checkbox" name="accept" id="accept-box" />
          I accept
        </label>
        <button type="submit" id="submitter" disabled="disabled">
          <img src="..." />
        </button>
      </form>
    </body></html>
    
    (实际上,我个人会使用jQuery来处理JS方面的事情:)

    如果愿意,您可以使用CSS设置图像周围按钮的样式:

    #submitter { border:0; padding:0 } 
    

    您不能禁用超链接,尽管您可以将其隐藏。@Sarfraz:您可以随时禁用链接…非常感谢,但我无法使其正常工作,最后使用了Phrogz的建议。无论如何,谢谢你,S。这段代码可能不是100%正确,但它是为了给你指出正确的方向。
    window.onload = function(){
      var accept = document.getElementById('accept-box');
      var submit = document.getElementById('submitter');
      accept.onclick=function(){
        submit.disabled = !accept.checked;
      };
      document.getElementById('myform').onsubmit = function(){
        // Prevent form submission by any means unless
        // the accept button is checked.
        return accept.checked;
      };
    };
    
    $(function(){
      $('#accept-box').click(function(){
        $('#submitter').attr('disabled',!this.checked);
      });
      $('#myform').submit(function(){
        return $('#accept-box').attr('checked');
      });
    });
    
    #submitter { border:0; padding:0 }