Jquery验证单击了哪个图像

Jquery验证单击了哪个图像,jquery,validation,rule,Jquery,Validation,Rule,我有一个带有5个图标的表单,我想验证单击了哪个图标。我想添加一个隐藏的文本框并编写一个规则来检查它的值。这适用于表单提交,但我需要在单击正确的图像时清除错误消息。目前,javascript更改文本值时不会触发验证。有更好的方法吗 <form name="frmExperiment" id="frmExperiment" action="" method="post"> <img src="btn1.png" width="75" height="75" alt="continu

我有一个带有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>

给每个img一个id,点击每个id,你就可以随心所欲了。 我希望img的id能够以其他方式工作,为每个img设置一个span或div,并将id提供给他们

$('#target').click(function() {
  alert('Handler for .click() called.');
});

分类。问题在于,通过jsonclick更改值不会触发验证。因此,我删除了onclick,并在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事件就完成了任务。也许有一种更优雅的方法可以做到这一点,但它正在工作…

它不应该是“(value==1)”吗?返回值==1将返回true或false。鲍勃,谢谢,我该如何将其与验证联系起来呢?现在正在验证您是否单击了右键,伙计!您甚至不需要在html标记中使用onclick!为了简洁起见,我把表单删减了——还有一堆其他表单元素需要在提交之前进行验证。这就是为什么我想使用自定义规则来执行此操作的原因好的,然后在“//do stuff or submit the form”部分中添加带有if语句的其他验证器。我可以检测
$('#frmExperiment img')单击哪个img。单击(function(){alert($(this).attr('src');})但我不知道如何将其绑定到自定义规则中
$('#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"
);