gpt4 book ai didi

javascript - 函数不传递值作为参数

转载 作者:行者123 更新时间:2023-12-02 19:22:15 24 4
gpt4 key购买 nike

我不明白为什么 getMoreInfoResults() 函数不将单选按钮的值(当选择一个按钮时)传递给 GET 请求。有人知道为什么吗?

<form name="question_form">
<input type="radio" name="vote" value="1" onclick="getVote(this.value)" />Yes<br />
<input type="radio" name="vote" value="2" onclick="getVote(this.value)" />No<br />
<textarea rows="3" name="moreInfo" onkeyup="getMoreInfoResults(document.question_form.vote.value, this.value)" /></textarea><br />
<input type="submit" value="Submit" />
<div id="otherAnswers"></div>
</form>

这是我的 JavaScript:

function getMoreInfoResults(vote, input) {

if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("otherAnswers").innerHTML=xmlhttp.responseText;
}
}

xmlhttp.open("GET","phpPoll/phpPoll_userDefined/functions/getMoreInfoResults.php?vote=" + vote + "&moreInfo=" + input,true);
xmlhttp.send();
}

谢谢。

最佳答案

document.question_form.vote 表达式将为您提供一个 NodeList 对象,而不是 Node 对象。显然,它的 value 属性是 undefined

一种可能的解决方法是创建一个函数来检索选中的单选按钮的值:

function getCheckedValue(radioNodes) {
for (var i = 0, l = radioNodes.length; i < l; i++) {
if (radioNodes[i].checked) {
return radioNodes[i].value;
}
}
}

...并使用它而不是直接查询值:

onkeyup="getMoreInfoResults(getCheckedValue(document.question_form.vote), this.value)" 

关于javascript - 函数不传递值作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12407295/

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