2013-08-21 37 views
0

我正在尝试使用AJAX发布表单数据并在div中显示结果。尽管我尽了最大的努力,但我失败了。jQuery表单提交和显示结果不起作用

这里是我与jQuery使用的代码1.8.3

HTML:

<form action="" method="post" id="forecastform"> 
    <input type="text" name="weatherloc" class="weatherloc"> 
    <input type="submit" name="weathersubmit" class="weathersubmit" value="Get Forecast"> 
</form> 

<div class="wfposts"></div> 

的JavaScript在头部分:

 <script type="text/javascript"> 
      jQuery('#forecastform').submit(function(event) { 
      event.preventDefault(); 
      var term = jQuery('.weatherloc').val(); 
      var url = <?php echo get_template_directory_uri() . '/local-forecast-process.php';?>; 

       var posting = jQuery.post(url, { weatherloc: term }); 

        posting.done(function(data) { 
        var content = jQuery(data); 
        jQuery(".wfposts").empty().append(content); 
        }); 
      }); 
     </script> 

首先,页面重新加载忽略event.preventDefault();
我不确定是否正在发送数据,因为在页面加载后div未被填充。

有人请帮助

回答

2

语法错误,未加引号的字符串!

替换:

var url = <?php echo get_template_directory_uri() . '/local-forecast-process.php';?>; 

var url = "<?php echo get_template_directory_uri(); ?>/local-forecast-process.php"; 

,并添加一个DOM准备处理程序,如果元素后不包含的JavaScript。

+0

谢谢,它的工作..对不起,再次打扰,有没有什么办法可以添加ajax加载图像与此代码? – Abhik

+0

@Abhik - 当然,像这样 - > http://jsfiddle.net/Jnm8A/ – adeneo

+0

真棒!你让我今天一整天都感觉很好。 – Abhik

2

您自元素forecastform在$。就绪包这件事是不是有当jQuery是试图将其选中。

$(document).ready(function(){ 
    jQuery('#forecastform').submit(function(event) { 
    .... 
    ... 
    }) 
}