我有以下HTML表单:
<form method="post" action="./results.php">
<input type="submit" name="submitbtn" id="submitButton" class="btn btn-default btn-responsive" role="button">
<input name="q" id="query" value="" data-role="tagsinput"/>
</form>
使用AJAX加载页面后,我想用http.responseText
填充值字段。我正在尝试这样做:
function AjaxFunction()
{
url = 'fbserver.php';
http.open("GET",url, true);
http.onreadystatechange = function()
{
if (http.readyState == 4)
{
$(".se-pre-con").fadeOut("slow");
var query = http.responseText; // The user's interests as a string
document.getElementById("query").value = query;
/* Tried refreshing the input here like suggested in the linked question ($('input').tagsinput();) */
}
}
http.send(null);
}
但是,它不起作用,将表单输入留空并且value属性保持不变。我尝试了document.getElementById("query").name = query;
,name
属性正常更改。
我想这与taginput插件有关here,但我无法根据答案解决这个问题。任何帮助,将不胜感激! ;)
答案 0 :(得分:1)
您应该使用插件的api而不是直接放置文本值。
我正在使用jQuery(我认为该插件也依赖于它,所以你也可以使用这种方法)。所以在你的ajax电话中,你可以:
$('#query').tagsinput('add', http.responseText);
您可以在此处查看其他方法:https://bootstrap-tagsinput.github.io/bootstrap-tagsinput/examples/