所以我正在构建一个消息传递应用程序,用户在其中单击一个按钮,会显示一个 jquery 提示,要求用户输入他们的消息,然后理想情况下使用单独的 ajax 函数发送消息。
这里是有问题的代码:
jQuery消息提示函数:
function getInput() {
var text = prompt("Enter message", "");
if (text != null) {
document.getElementById("demo").innerHTML = text; //failed attempt at updating the value just using the id of the input.
}
}
HTML:
<form name="messagesend" method="post" onsubmit="return sendMessage(this);">
<input type="hidden" id="demo" name="message" value="I want to update this field with the result of the javascript text variable" />
<input type="hidden" name="regId" value="<?php echo $row["gcm_regid"] ?>"/>
<input type="submit" class="send_btn" value="Volume-Vibrate" onclick="getInput()"/>
</form>
如您所见,我要更新的字段是 value
中包含的字符串,它是正在发送的消息。我怎样才能根据用户在文本提示中输入的结果更新它?
如有任何帮助,我们将不胜感激!
编辑:
将 jQuery 函数更新为以下内容:
function getInput() {
var text = prompt("Enter message", "");
if (text != null) {
$("#demo").val(text);
}
}
这可能是一个不同的问题,但是当单击我最初发布的 HTML 中创建的按钮时,它会显示提示并输入一条消息,但我放置的默认值仍然是正在发送的消息.是
onsubmit="return sendMessage(this);"
在 jQuery 更新值字段之前执行?如果是这样,是否有办法解决这个问题?
如果有帮助,这里是 sendMessage
,它使用 ajax 将消息发送到 php 脚本。
HTML value
字段(我试图使用 getInput()
从 jQuery 提示中获取用户输入字符串)成为 data
变量,其中还包含消息的指定接收者的注册 id。
function sendMessage(formObj){
var data = $(formObj).serialize();
$(formObj).unbind('submit');
$.ajax({
url: "send_message.php",
type: 'GET',
data: data,
beforeSend: function() {
},
success: function(data, textStatus, xhr) {
$('.txt_message').val("");
},
error: function(xhr, textStatus, errorThrown) {
}
});
return false;
}
最佳答案
HTML 字段没有内部 HTML(标签是自闭合的),它有一个 value(和一个 value
属性)。
但是当你使用 jQuery 时,无论如何你都应该使用它的函数:$("#demo").val(text)
关于javascript - 使用 jquery 变量更新 html "value",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24375978/