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 回答
3

尝试这个:

$(field).val(result);

如果要在输入后附加跨度,请使用:

$(field).after(result)
于 2013-07-23T13:02:33.610 回答
2

正如评论中的 tymeJV 一样,您不能将 HTML 放在输入标记中。

您可以将其设置为使用的值,$(field).val(result)但这没有多大意义。

或者您可以在使用后插入它.after

$(field).after(result);

这将在输入后直接在结果中显示 HTML。

于 2013-07-23T13:04:08.980 回答