0

我正在为 WP 开发自定义主题,我遇到了 ajax 回调问题......这是我的标题:

<script>    
//alert("Data Loaded");
    $('#domaincheck').submit(function(){
        alert("Button pressed");
        $.post('<?php bloginfo('template_directory'); ?>/check.php', $(this).serialize(), function(data){
        alert("Data Loaded: " + data);
        });             
        return false;
    });
</script>

在我的主题文件中,我有简单的形式,例如:

<form id="domaincheck">
Name: <input type="text" name="urname">
Birthplace: <input type="text" name="urbirth">
<input type="submit" name="submit" value="Submit">
</form>

现在,当我单击提交按钮时-页面只是重新加载:(当我将其移出 WordPress 时,一切正常。有没有办法让它在 WordPress 中工作?另外一个奇怪的事情是当我将 JS 代码包装在“文档准备就绪”中时“ - javascript根本不工作......没有documentready它显示警报 - 但不是回调 - 它只是重新加载页面......再一次 - 在wordpress模板之外它可以正常工作。

谢谢,彼得

4

1 回答 1

1

我已经在我的本地主机上完成了,这很好地进行了 ajax 调用:

added one main jquery pluginheader.php文件中引用<head>

<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script>
<script type='text/javascript'>
   $(function(){
       $('#domaincheck').submit(function(e){
           e.preventDefault();
           alert("Button pressed");
           $.post('<?php bloginfo('template_directory'); ?>/check.php',$(this).serialize(), function(data){
               alert("Data Loaded: " + data);
           });
       });
   });
</script>

这是check.php文件php代码:

<?php
    if((isset($_POST['urname'])) && (isset($_POST['urbirth']))){
        echo $_POST['urname'];
        echo $_POST['urbirth'];
    }
?>

and i got the alert of the posted data.

try this and see if this helps.

于 2012-12-09T10:18:42.107 回答