2013-04-12 154 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应该为你解析它