我有一个带有5个图标的表单,我想验证哪一个被点击了。我想添加一个隐藏的文本框并编写一个检查它的值的规则。这适用于表单提交,但我需要在单击正确的图像时清除错误消息。目前,当javascript更改文本值时,不会触发验证。有没有更好的方法呢?
<form name="frmExperiment" id="frmExperiment" action="" method="post">
<img src="btn1.png" width="75" height="75" alt="continue" title="continue" onclick="frmExperiment.txtIconG.value=1" />
<img src="btn2.png" width="75" height="74" alt="information" title="information" onclick="frmExperiment.txtIconG.value=2" />
<img src="btn3.png" width="75" height="82" alt="refresh" title="refresh" onclick="frmExperiment.txtIconG.value=3" />
<img src="btn4.png" width="75" height="75" alt="home" title="home" onclick="frmExperiment.txtIconG.value=4" />
<img src="btn6.png" width="75" height="77" alt="stop" title="stop" onclick="frmExperiment.txtIconG.value=5" />
<input type="text" name="txtIconG" id="txtIconG" />
</form>
和
$.validator.addMethod("iconmatch", function (value, element) {
return value==1;
},
"That isn't the continue button"
);
答案 0 :(得分:0)
$("img").bind("click", function(){
var whichImg = $(this).attr("title");
if( whichImg == "continue" ) {
// do stuff or submit the form
} else {
var txt = "That isnt the continue button! You've clicked the "+ whichImg + " button!";
$("#txtIconG").val( txt );
}
return false;
});
答案 1 :(得分:0)
为每个img提供一个id,然后点击每个你想做的id。 我希望img shud work的id另外明智地为每个img添加一个span或div并给他们id?
$('#target').click(function() {
alert('Handler for .click() called.');
});
答案 2 :(得分:0)
排序。问题是通过js onclick更改值不会触发验证。所以,我删除了onclicks并在jQuery中添加了:
$('#frmExperiment img').click(function(){
$('#txtIconG').val($(this).attr('src'));
$('#txtIconG').keyup();
});
并在自定义规则中:
$.validator.addMethod("iconmatch", function (value, element) {
return value=='btn1.png';
},
"That isn't the continue button"
);
因此,在输入上触发keyup事件就完成了工作。可能有更优雅的方式来做这件事,但它正在发挥作用......