0

リンクを使用してフォームを送信しようとしましたが、ajaxが機能していません:

<form id="store_relation" action="store_relation.php" method="post" name="store_relation" >
        <input type="hidden" name="store_id" value="<?php echo $row['store_id']; ?>" />
        <input type="hidden" name="user_id" value="<?php echo $row['id']; ?>" />
</form>
<li class="online_users"><a id="online_form"><?php echo $row['username']; ?></a></li>

<script type='text/javascript' language="javascript">
$(document).ready(function(){
    $('#online_form').click(function(e) {
        e.preventDefault(); // prevent the link's default behaviour
         $('#store_relation').ajaxForm( {
            success: function() { 
            alert('hey');
            } 
        }); 
    });
 }); 
</script>
4

2 に答える 2

2

ajaxSubmit()の代わりに使用する必要がありますajaxForm()。 FormAPIによるとajaxForm

必要なすべてのイベントリスナーを追加して、AJAXを介して送信するフォームを準備します。フォームは送信されません。ドキュメントのready関数でajaxFormを使用して、AJAX送信用にフォームを準備します。ajaxFormは0または1つの引数を取ります。単一の引数は、コールバック関数またはオプションオブジェクトのいずれかです。

ajaxSubmit

AJAXを介してフォームをすぐに送信します。最も一般的なユースケースでは、これはユーザーがフォームの送信ボタンをクリックしたことに応答して呼び出されます。ajaxSubmitは0または1つの引数を取ります。単一の引数は、コールバック関数またはオプションオブジェクトのいずれかです。

$(document).ready(function(){
    $('#online_form').click(function(e) {
        e.preventDefault(); // prevent the link's default behaviour
         $('#store_relation').ajaxSubmit( {
            success: function() { 
            alert('hey');
            } 
        }); 
    });
 }); 
于 2013-03-26T03:58:39.883 に答える
0

ajaxForm()フォームを送信したり、リンクを送信したりすることはありません。De API @ http://jquery.malsup.com/form/#api States

必要なすべてのイベントリスナーを追加して、AJAXを介して送信するフォームを準備します。フォームは送信されません。

したがって、値が送信されることはなく、「成功」状態になることもありません。

フォームを自分で送信するか、リンクの代わりに送信ボタンを使用する必要があります。<a>すべてのブラウザがなしを受け入れるわけではないことに注意してくださいhref

于 2013-03-26T02:49:38.027 に答える