0

此 ajax 函数获取一个文本框值并将其发送到"response.php":(这是的主要功能ajax.js

function ajaxFunction() {
  var getdate = new Date(); 

  if(xmlhttp) {

    var txtname = document.getElementById("txtname");

    xmlhttp.open("POST","response.php",true); 
    xmlhttp.onreadystatechange  = handleServerResponse;
    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlhttp.send("txtname=" + txtname.value); 
  }
}

我正在尝试将一个单选按钮添加到我的表单中,所以我将其更改为:

function ajaxFunction() {

  var getdate = new Date();  
  if(xmlhttp) {

    var txtname = document.getElementById("txtname");
    var radio = document.getElementById("radio2"); //ADDED

    xmlhttp.open("POST","response.php",true); 
    xmlhttp.onreadystatechange  = handleServerResponse;
    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlhttp.send("txtname=" + txtname.value); 
    xmlhttp.send("radio=" + radio.value); //ADDED

  }
}

在 response.php 中:

<?php

if (isset($_POST['txtname'])){
 $radio =  $_POST['radio'];

       //process...

}

?>

输入文本仍然有效,但单选按钮无效。

4

2 回答 2

1

将post参数绑定在一个并post

  var parameters = 'radio='+radio.value+'&txname='+txtname.value;
  xmlhttp.send(parameters);
于 2012-05-27T14:36:40.783 回答
0

您的变量名似乎不是“radio2”而是“radio”。

<?php 
if (isset($_POST['txtname'])){
   // $radio =  $_POST['radio2']; // <-- here
   $radio =  $_POST['radio']; // fixed

     //process...
}
?>

因为您以“无线电”的名义发布数据。

xmlhttp.send("radio=" + radio.value); //ADDED

-----在下面添加了我的答案----

请尝试...

xmlhttp.send("txtname=" + txtname.value + "&radio="+ radio.value); 

或者

xmlhttp.send("txtname=" + txtname.value + "&radio2="+ radio.value); 

因为你不能使用 xmlhttp.send() 两次。

我希望这可以帮助你。

于 2012-05-27T14:01:04.807 回答