gpt4 book ai didi

javascript - 如何获取文本区域的值?

转载 作者:行者123 更新时间:2023-11-28 04:08:03 24 4
gpt4 key购买 nike

这是对 my other question 的跟进.我再次提问,因为这看起来更像是一个 javascript 问题,而不是 Google App Engine 问题。

我有一个表格

<form name="choice_form" id="choice_form" method="post" action="/g/choicehandler" onsubmit="writeToStorage()">
<textarea name="choice" rows="7" cols="50"></textarea><br />
<input type="submit" value="submit your choice">
</form>

我想获取此 textarea 的值并使用 formData 将其发送到应用程序。我试过了

  var choice = document.getElementById("choice_form").value;

但是对于“选择”的值,我得到“未定义”。我究竟做错了什么?

而且,如果我理解正确的话,/g/choicehandler 被表单调用两次,一次被 XHR 调用。我该如何解决?下面是处理程序:

class Choice(webapp.RequestHandler):
def get(self):
self.response.out.write("""
<html>
<head>
<script type="text/javascript">

var count = 0;

function writeToStorage()
{
var user = "user" + count;
count++;
localStorage.setItem("chooser", user);
var choice = document.getElementById("choice_form").value;

var formData = new FormData();
formData.append("chooser", user);
formData.append("choice", choice);

var xhr = new XMLHttpRequest();
xhr.open("POST", "http://localhost:8086/g/choicehandler", true);
xhr.onreadystatechange = function (aEvt) {
if (xhr.readyState == 4 && xhr.status == 200){
console.log("request 200-OK");
}
else {
console.log("connection error");
}
};
xhr.send(formData);
//added this per Aaron Dufour's answer
return 0;
};

</script>

</head>
<body>

//changed onsubmit like this: onsubmit="return writeToStorage(); as per Aaron Dufour's answer
<form name="choice_form" id="choice_form" action="/g/choicehandler" method="post" onsubmit="writeToStorage()">
<textarea name="choice" rows="7" cols="50"></textarea><br />
<input type="submit" value="submit your choice">
</form>

</body>
</html>""")

更新

参见 Aaron Dufour's answer寻求解决方案。

最佳答案

choice_form<form> , 而不是 <textarea> .
您需要提供 <textarea>一个 ID 并改用该 ID。

关于javascript - 如何获取文本区域的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8116545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com