1

我正在根据数据库验证在文本框中输入的值,并希望显示正确或错误的图标正确的文本框。

我的html代码在这里

<tr>
 <td><input type="textbox" class="process-order serial" name="serialNumber" id="serialNumber"/> <span name="validsn" id="validsn">
</td>
</tr> 
<tr>
<td><input type="textbox" class="process-order serial" name="serialNumber" id="serialNumber"/> <span name="validsn" id="validsn">
</td>
</tr> 
<tr>
<td><input type="textbox" class="process-order serial" name="serialNumber" id="serialNumber"/> <span name="validsn" id="validsn">
</td>
</tr> 

当在 serialNumber 字段中输入值时,我正在验证 onblur,我会得到 true 或 false,而在 jquery 中我就是这样做的。

$.post("validateSN", {value:$(this).val()},function(data){
    $("#validsn").text(data);
});

当我每次显示数据时,错误消息或成功消息只出现在第一个旁边。

更新:序列号文本框是动态的,并且根据文本框大小与跨度相同。

有人可以帮助我正确地在每个文本框旁边显示错误/成功消息的正确方法。

4

2 回答 2

0

这是因为您添加了

<span name="validsn" id="validsn">

靠近第一个输入文本(然后重复使用相同的 ID)

你应该这样做

<span name="validsn" id="validsn1">
<span name="validsn" id="validsn2">
<span name="validsn" id="validsn3">

然后在java脚本中

   var index = 1;
   for (index = 1 ; index <= 3;index++){ $("#validsn"+index).text(data);}
于 2012-06-21T17:28:02.393 回答
0

我遵循了Jigar Joshi的建议并稍作修改

模糊

$(".serial").live("blur", function(){
//got the index of textbox where serial number is entered
var index = $(".serial").index(this);

$.ajax({
 url:"validateSN",
 data: "value="+sn,
 success : function(data){
 $("#validsn"+index).show();
     if(data=="true"){
    $("#validsn"+index).attr('src',"images/icons/valid_icon.png");
     } else if(data=="false"){
        $("#validsn"+index).attr("src", "images/icons/invalid_icon.png");
     }
});

然后它工作得很好。感谢 Jigar Joshi 帮助我前进。

于 2012-06-27T15:38:46.317 回答