フォーム送信せずに入力値を投稿したい。onClick()
関数が宣言されているこのリンクがあります。
<a href="javascript:void(0);" id = "graph" onClick="validation('graph','D');" >Link</a>
私のプロジェクトでは、FORM SUBMITテクニックを避けるように制限されています。値を投稿してデータベースを更新するには、他の方法を選択する必要があります。Form Post の代わりに何をすべきか??
これを行うには、AJAXを使用する必要があります。onblur()
フィールドが自動的に非アクティブ化されたときにテキストフィールドに関数を使用することもできますがJavaScript
、データベースを更新するためのコードを配置できる関数が呼び出されます。
$.ajax({
type: 'POST',
url: 'http://xyz.com/updatedb.php',
data: {
'foo': 'bar'
}
});
このコードは、フォームからデータを送信します。
updatedb.phpファイルで次のコードを使用します。
<?php
$in = $_POST['foo'];
$con = //connection string;
$query = "insert into tablename values('$in')";
$result = mysqli_query($con, $query)
or die('Something is wrong in query chek it');
?>
厳密にフォームについて話している場合、jQuery などの JavaScript フレームワークを使用できる場合、探しているすべての AJAX 機能がすぐに得られます。
http://api.jquery.comを参照してください。
この質問を確認できます: jQuery AJAX submit form
それはあなたにそれを行う方法を提供します。また、コードを改善して、アクセスしやすく、邪魔にならないようにすることもできます (これにより、javascript が HTML コードから分離されるため、サポートがはるかに簡単になります)。
<button id = "graph" >my action</a>
頭の中で、スクリプト要素で:
$(document).ready(function() {
// the functions below are executes once the document is loaded
$("#graph").click(function(){
validation('graph','D');
});
});
フォームについて厳密に話さない場合は、uri とハンドラーを定義することでそれを行うことができます: http://www.domain.com/?r=my-action/arg1/arg2/arg3 ...
Model View Controller フレームワークで見られる一般的な手法があります (使用しているサーバー言語はわかりません)。
注: jQuery 以外のフレームワークもありますが、私はそれに慣れています http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks