[英]Javascript/Jquery checkbox conditional hyperlink
我有一个使用JavaScript提交表单的超链接/图像按钮,
<p>
<a href="#" onclick="checkOutFrm.submit();">
<img src="images/btn-checkout-basket.gif" width="169" height="28" alt="Checkout" border="0" />
</a>
</p>
并希望添加一个复选框,以禁用超链接,直到选中它为止。 我该怎么做呢?
任何帮助非常感谢,S。
在提交数据之前,您可以先检查复选框的值。
<a href="javascript: if(getElementById('CheckBoxID').checked) { checkOutFrm.submit(); } else { return false; }">
如果您使用jQuery,则更愿意这样做:
$(function(){
$("a").click(function(e){
e.preventDefault();
$("#CheckBoxID").val() && $("form").submit();
});
});
通常,您不应该:
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>
...这在你的submit.js
文件中:
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;
};
};
(嗯,实际上,我个人将使用jQuery处理事物的JS方面:)
$(function(){
$('#accept-box').click(function(){
$('#submitter').attr('disabled',!this.checked);
});
$('#myform').submit(function(){
return $('#accept-box').attr('checked');
});
});
如果您愿意,可以使用CSS来设置图像周围的按钮;
#submitter { border:0; padding:0 }
您可以使用Jquery Validator http://bassistance.de/jquery-plugins/jquery-plugin-validation/来强制它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.