1 つのページ (1 ~ 20 以上) に複数のフォームがあり、それぞれに独自の送信ボタンを設定したいと考えています。各フォームの送信ボタンは、理想的には、フォーム内のデータをデータベースに送信するハンドラー php ファイルに POST します。フォームを「データが送信されました」という確認テキストに置き換えた場合もいいでしょうが、それは後で追加できる上に一種の綿毛です. これを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 程度) を収容できるようにスケーリングする必要があることは明らかです。誰でもこれで私を助けてくれますか? たった1つのデータで動作させることができれば、自分でスケーリングできると思います。