2

これは簡単なはずですが、何が悪いのかわかりません。onblurテキスト フィールドにイベントがあるときに ajax 呼び出しを行っています。Ajax リクエストはバックエンドに送られ、レスポンスを取得します。次に、その応答をテキスト フィールドの横に追加する必要があります。しかし、それは機能していません。
HTML

<input type="text" required="" id="123456" onblur="validateWithDB(this)"></input>

Javascript

function validateWithDB(field)
            {
                $.ajax({
                    type:"POST",
                    url:"validate",
                    data: "fieldValue="+field.value,
                    success: function(response) {
                        alert(response);// this is correct
                        alert($(field).val());// this is correct
                        var result = '<span class="help-inline">'+response+'</span>'
                        alert(result) // this is correct
                        $(field).html(result);// Does not show up.
                    },
                    error:function (xhRequest, ErrorText, thrownError) {
                        alert('Error: '  + '  ' + xhRequest);
                    }
                });
            }

私は両方を試しまし$(field).html(result);$(field).append(result);が、うまくいきませんでした。

4

3 に答える 3

4

入力へのスパン NEXT が必要な場合は、次を使用します。.after()

$(field).after(result);
于 2013-07-23T13:03:44.883 に答える
2

コメントにある tymeJV のように、input タグ内に HTML を配置することはできません。

を使用して値として設定することもできます$(field).val(result)が、これはあまり意味がありません。

または、使用後に挿入できます.after

$(field).after(result);

これにより、入力の直後に結果に HTML が表示されます。

于 2013-07-23T13:04:08.980 に答える