2012-08-11 61 views
2

我有数据传递给同一页上的jQuery脚本的形式。该形式如下:我可以通过表单数据/变量使用AJAX在jQuery脚本PHP?

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> 
<input type="radio" name="favourites" value="all" checked="checked"> all tracks &nbsp&nbsp<input type="radio" name ="favourites" value="favourites"> favourites only<br><br> 
<input type="submit" name="submit" id="filter" class="submit" value="filter"><br> 
</form> 

的收藏价值,然后通过一个PHP脚本的jQuery内的同一页,其中动态生成一个MySQL查询的头检索。但是,这是因为页面被重新加载。如果可能的话,我想使用AJAX将表单数据/变量传递给jQuery脚本,而不用重新加载页面。我知道,我可以操纵使用AJAX HTML和CSS,但我还可以操纵头的jQuery脚本?如果是这样,我该怎么办呢?

+1

你不需要要操纵头部中的脚本,您需要编写一个用ajax代替发送表单的新脚本。 – adeneo 2012-08-11 20:23:27

+0

@adeneo你的意思是,我需要从头部重现了整个剧本,增加了对加工形式AJAX?对不起,我对AJAX比较陌生! – Nick 2012-08-11 20:30:14

回答

3

为简单起见,给形成独特的ID,然后只需做一个jQuery的岗位为此而设计的一个AJAX文件。

例子:

HTML

<form id="postForm" method="POST"> 
    <input type="radio" name="filter" value="1" /> Only favorites 
    <input type="radio" name="filter" value="2" /> Everything 
    <input type="submit" name="postFormSubmit" /> 
</form> 

jQuery的

$('form#postForm').submit(function(e){ 
    e.preventDefault(); //Prevents a page reload 
    var filter = $(this).find("input[@name=filter]:checked").val(); //Gets the value of "filter" 
    $.post("/path/to/ajax.php",{filterType:filter},function(){ 
     // Callback, could make the data output attach to this. 
    }); 
}); 

这就是我ATLEAST开始:)

+1

@Raminson - 只注意到该格式是全乱了。感谢您的清洁! :) – Bonius 2012-08-11 20:48:09

3

看看this。代码会像这样。

HTML:

<form id="postForm" method="POST"> 
    <input type="radio" name="filter" value="1" /> Only favorites 
    <input type="radio" name="filter" value="2" /> Everything 
    <input type="submit" name="postFormSubmit" /> 
</form> 

的Javascript:

jQuery("#postForm").submit(function(event){ 
    event.preventDefault(); 
    jQuery.post("/ajax.php", jQuery("#postForm").serialize(), function(){ 
    //done 
    }); 
} 
+0

感谢您的回答。我会看看你链接的文章。对于ajax来说相当新鲜,但我有点困惑。在ajax.php中发生了什么?这是我目前所有代码所在的主要index.php页面吗? – Nick 2012-08-11 21:17:21

+0

你想从网站的其余部分拆分你的.php文件。将网站依赖的所有代码放在单个文件中会导致很多问题。无论如何:在ajax.php中,这是你放置SQL查询的地方(如果你使用的是OOPHP,那么就是对象实例)。 – Bonius 2012-08-11 22:15:56

相关问题