私はこのようなコードを持っています:
<form action="xxx.php" method="post">
<input type="hidden" name="ab" value="ab" />
<input type="submit" value="submit" />
</form>
送信ボタンをクリックすると、ブラウザがリダイレクトされます.リダイレクトxxx.php
を停止してスクリプトを機能させる方法はありますか?
私はこのようなコードを持っています:
<form action="xxx.php" method="post">
<input type="hidden" name="ab" value="ab" />
<input type="submit" value="submit" />
</form>
送信ボタンをクリックすると、ブラウザがリダイレクトされます.リダイレクトxxx.php
を停止してスクリプトを機能させる方法はありますか?
あなたはajaxを使うべきです! http://www.simonerodriguez.com/ajax-form-submit-example/ チェックしてみてください!
フォームの送信を停止できます
<form action="xxx.php" onclick="doSomething(); return false;" method="post">
<input type="hidden" name="ab" value="ab" />
<input type="submit" value="submit" />
</form>
これで、Javascript 関数 "doSomething()" が true を返したときにフォームが最初に送信されます。しかし、jQuery や Prototype のような Javasscript ライブラリを使用するより良い方法です。他の人がここで言ったことは、これを行うのに役立つプラグインです。
ajax を使用してフォームを実装します。既存のフォームを ajax フォームに変換するための適切な jquery プラグインがいくつかあります。フォームが処理されていることをユーザーに示すことを忘れないでください。
例えば。jQuery の使用。
あなたのajaxページで。
$(document).ready(function(){
$('form').submit(function(){
return postForm($(this));
});
});
あなたのメインページ。
function postForm(obj){
method = obj.attr('method');
action = obj.attr('action');
$.ajax({
type: method,
url: action,
data: obj.serialize(),
dataType: 'text',
error: function(xhr, ajaxOptions, thrownError) {
// On error...
},
success: function(request) {
// On success...
}
})
return false;
}