我在使用PHP和AJAX提交无线电输入值方面遇到了麻烦。我已经构建了下面的代码,但我似乎无法让它工作。有任何想法吗?仅当按下按钮时,无线电场的值才需要通过
<script>
function showUser(str) {
if (str == "myvalue") {
document.getElementById("txtHint").innerHTML = "";
/// location of new code -start
document.querySelector('input[name="users"]:checked').value;
/// location of new code -end
return;
} else {
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 (this.readyState == 4 && this.status == 200) {
document.getElementById("txtHint").innerHTML = this.responseText;
}
};
xmlhttp.open("GET", "ajax-php.php?q=" + str, true);
xmlhttp.send();
}
}
</script>
&#13;
<form>
<input type="radio" name="users" value="1">
<input type="radio" name="users" value="2">
<!-------unable to pass value----------->
<input type="button" value="myvalue" onclick="showUser(this.value)">
<!-------unable to pass value----------->
</form>
<div id="txtHint">echo results here</div>
&#13;
Ajax的php.php
<?php
$q = intval($_GET['q']);
echo $q;
?>
谢谢。
答案 0 :(得分:1)
传递给showUser函数的'this.value'参数的范围是使用onclick函数的元素。 所以它试图发送没有值的按钮元素的值。
答案 1 :(得分:0)
你做得很好。
<input type="button" onclick="showUser(this.value)">
函数showUser
由button
类型输入字段调用。这个领域没有价值。
如果要发送任何值,请使用值attribute
。例如:
<input type="button" value="mayValue" onclick="showUser(this.value)">
要访问单选按钮值,您可以使用此代码。
document.querySelector('input[name="users"]:checked').value;
要发送单选按钮值,请遵循以下代码
//xmlhttp.open("GET", "ajax-php.php?q=" + str, true);
xmlhttp.open("GET", "ajax-php.php?q=" + document.querySelector('input[name="users"]:checked').value, true);