1

JQuery ツールを使用しています -検証エラーの概要

/* adds an effect called "wall" to the validator */
        $.tools.validator.addEffect("wall", function(errors, event) {
                // get the message wall
                var wall = $(this.getConf().container).fadeIn();
                // remove all existing messages
                wall.find("p").remove();
                // add new ones
                $.each(errors, function(index, error) {
                    wall.append(
                        "<p><strong>" +error.input.attr("name")+ "</strong> " +error.messages[0]+ "</p>"
                    );
                });
                // the effect does nothing when all inputs are valid
        }, function(inputs)  {

        });

ここに画像の説明を入力

画像がすべて正常に機能していることがわかる場合は、このコードを変更して、テキストボックス名の代わりにラベルテキストをエラー MSG の前に表示する必要があります。

前もって感謝します。 編集:HTML

<tbody style="" class="user_panel" id="customer_info">
  <tr>
    <td valign="top"><label class="label">Contact name:</label>
      <input type="text" value="" name="contact_name" class="" style="width:227px"></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td valign="top"><label class="label">Measurement:</label>
      <select value="" data-message="Measurement is required1" required="required" name="measurement" style="width: 231px; border-color: red;">
        <option value="">-select-</option>
        <option value="1">mm</option>
        <option value="2">inches</option>
      </select></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td valign="top"><label class="label">Phone personal:</label>
      <input type="text" value="" data-message="Pers cont. num is required" required="required" name="contact_number_person" class="" style="width: 227px; border-color: red;"></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
4

2 に答える 2

1

// add new onesコメントの下にある JavaScript を次のように変更します。

$.each(errors, function(index, error) {
    wall.append(
        "<p><strong>" +error.input.prev().html()+ "</strong> " +error.messages[0]+ "</p>"
    );
});

入力オブジェクトの name 属性を出力する代わりに、の要素内の html を出力します。label

于 2013-09-25T06:29:29.597 に答える
1

for属性をラベルに追加すると、たとえば

<label class="label" for="contact_name">Contact name:</label>

次に、次のことができます。

wall.append(
                    "<p><strong>" +$("label[for='"+ error.input.attr("name")+"']").text()+ "</strong> " +error.messages[0]+ "</p>"
                );

これは、別の要素がラベルと入力の間にある可能性に対処します。または、入力の後にラベルを付けたい場合。

于 2013-09-25T06:36:52.830 に答える