我在一个页面上有几个表单(1-20+),我希望每个表单都有自己的提交按钮。理想情况下,每个表单的提交按钮会将表单中的数据发布到处理程序 php 文件,该处理程序 php 文件会将其提交到数据库。如果它用一些“数据提交”确认文本替换表单也很好,但这是我可以稍后添加的顶部的绒毛。我想用 ajax 来做这件事,但我不确定如何做到这一点。
让我们假设我的表单是一个字段,它看起来像这样:
<form action="submitHandler.php" method="post">
<input type="text" value="testdata" name="Details" id="details">
<button type="submit" onclick="functionThatSendsData">Submit</button>
</form>
这是我的 getXMLHTTP() 函数。我以前用它来处理其他一些与 ajax 相关的事情,所以我很确定它是正确的
function getXMLHTTP() { //function to return the xml http object
var xmlhttp=false;
try{
xmlhttp=new XMLHttpRequest();
}
catch(e) {
try{
xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1){
xmlhttp=false;
}
}
}
return xmlhttp;
}
我不得不想象我的 SubmitHandler.php 会做这样的事情:
$data=$_POST['Details'];
//make connection to database, bail if no connection
$connection = odbc_pconnect('db','','');
if (!$connection) { exit("Connection Failed: " . $connection); }
//Insert Fields into DB
$sql = "INSERT INTO TestTable (Data) VALUES ('$data')";
$rs = odbc_exec($connection, $sql);
if (!$rs) { exit("Error in SQL"); }
看来我最需要有关“functionThatSendsData”的帮助,该功能将在单击提交按钮时执行。这是一个简单的示例,但显然需要对其进行缩放以适应更多的字段值(10 左右)。有人可以帮我解决这个问题吗?如果我可以让它只使用一个数据,我假设我可以自己扩展它。