2013-04-12 157 views
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; 
} 

在PHPAjax無法正常工作?

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的值?

+0

什麼是錯誤? –

+0

它是否會陷入錯誤或成功? – sambomartin

+1

'dateType'應該是'dataType'...? –

回答

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>"; 
-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>"; 
+0

這個php看起來沒什麼問題,你可以使用內部變量,比如他有 – lededje

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; 
} 
+0

這是什麼?把它解釋給JS ...(你不在類/閉包上下文中) – bwoebi

+0

這樣的字符串表明他可能有一個標記;但我確實同意這有點不妥 – lededje

0

刪除的數據類型 '腳本'。你從請求中獲取html,所以jquery應該爲你解析它