0

我正在尝试通过 AJAX 请求使用 Java 脚本将 HTML 中的多个表单项提交到 mySQL 中。我可以更新一个字段,但不能更新其他 2 个字段。我已经注释掉了我认为会对此有所帮助但不起作用的其他代码。

 HTML part: 
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
“http://www.w3.org/TR/html4/loose.dtd”&gt;
<head>

<script type="text/javascript">

function insert()  {

      if (window.XMLHttpRequest) {
      xmlhttp = new XMLHttpRequest();
   } else {
       xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
   }
   xmlhttp.onreadystatechange = function(){
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    document.getElementById('message').innerHTML = xmlhttp.responseText;
  }
  }

 parameters = 'fname='+document.getElementById('fname').value;


   xmlhttp.open("POST", "update.php", true);
   xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
   xmlhttp.send(parameters);

} ;

 </script>

 </head>

 <body>

          First Name: <input class="work" type="text" id="fname" ><br>
          Middle Name: <input class="work" id="mname" type="text"><br>
          Last Name: <input class="work" id="lname" type="text"><br>
          <input type="button" value="Submit" onclick="insert();">

          <div id="message"></div>

  </body>
  </html>



 PHP part:
<?php
       //require 'connect.midasproject.php';
   $conn_error = 'could not connect.';

        $dbhost = "localhost";
        $dbname = "mastergolddb";
        $dbuser = "root";
        $dbpass = "";

 if (!@mysql_connect("$dbhost", "$dbuser", "$dbpass")||!@mysql_select_db ("$dbname")) {
   die($conn_error);
 } else {
   echo 'connected.';
   }

$fname = $_POST['fname'];
//$mname = $_POST['mname'] ;
//$lname = $_POST['lname'];

 if (!empty($fname))  {

$query = "INSERT INTO `customers` VALUES ('','$fname','joe','blow')";
    if  ($query_run = mysql_query($query)) {
       echo 'data inserted.' ;
    } else {
  echo 'Query failed.';
    }
   }

?>
4

1 回答 1

1

您需要将所有 3 个值传递给 ajax 函数。你好像就fname在这里 路过parameters = 'fname='+document.getElementById('fname').value;

于 2012-09-20T20:52:21.993 回答