0
function submitForm()
{
    $.ajax({
        type: 'GET', 
        url: 'iccrefresh.php', 
        data: $('this').serialize(),
        dataType:'script',
        error: function()
                { $( "#dialog_error" ).dialog( "open" ); },
        success: function()
                { $( "#dialog_success" ).dialog( "open" ); }
            });
    return false;
}

Phpで

echo "<form name='refresh' onsubmit='return submitForm();'>";
echo "<input type='hidden' name='team1' value=$teamx />";
echo "<input type='hidden' name='team2' value=$teamy />";
echo "<input type='submit' name='submit' align='middle' value='Refresh Match Score'/>";
echo "</form>";

チーム 1 とチーム 2 を送信できない理由はありますか? 成功メッセージが表示されますが、iccrefresh はチーム 1 とチーム 2 の値にアクセスできませんか?

4

4 に答える 4

2

という名前のタグはありませんthis$(this)代わりに書く必要があり$('this')ます...

しかし、これはここでも間違っています。this(要素)を関数に渡してから、「セレクター」として使用する必要があります。

function submitForm(form)
{
    $.ajax({
        type: 'GET', 
        url: 'iccrefresh.php', 
        data: $(form).serialize(),
        dataType:'script',
        error: function()
                { $( "#dialog_error" ).dialog( "open" ); },
        success: function()
                { $( "#dialog_success" ).dialog( "open" ); }
            });
    return false;
}

そしてPHPで:

echo "<form name='refresh' onsubmit='return submitForm(this);'>";
echo "<input type='hidden' name='team1' value='$teamx' />";
echo "<input type='hidden' name='team2' value='$teamy' />";
echo "<input type='submit' name='submit' align='middle' value='Refresh Match Score'/>";
echo "</form>";
于 2013-04-12T10:50:55.270 に答える
1

これを引用符で囲まないでください。$('this')タグ名が検索され、this現在のformオブジェクトは参照されません。

変化する

data: $('this').serialize(),

data: $(this).serialize(),

また、JavaScript を使用してイベントをバインドしているため、ソースを明示的に渡す必要があります。

HTML

echo "<form name='refresh' onsubmit='return submitForm();'>";  

Javascript

function submitForm(formobj)
{
    $.ajax({
        type: 'GET', 
        url: 'iccrefresh.php', 
        data: $(formobj).serialize(),
        dateType:'script',
        error: function()
                { $( "#dialog_error" ).dialog( "open" ); },
        success: function()
                { $( "#dialog_success" ).dialog( "open" ); }
            });
    return false;
}
于 2013-04-12T10:51:24.710 に答える
0

データ型 'script' を削除します。リクエストからhtmlを取得しているため、jqueryが解析する必要があります

于 2013-04-12T10:51:39.443 に答える
-1

これを試して:

echo "<form name='refresh' onsubmit='return submitForm();'>";
echo "<input type='hidden' name='team1' value='".$teamx."' />";
echo "<input type='hidden' name='team2' value='".$teamy."' />";
echo "<input type='submit' name='submit' align='middle' value='Refresh Match Score'/>";
echo "</form>";
于 2013-04-12T10:50:04.053 に答える