2011-03-29 84 views
0

试图发布一个表单与jquery和响应数据是从当前页面的html,而不是函数中指定的网址。表单.post与jQuery的响应返回相同的页面

<form name="vote_form" class="vote_form" action="vote.php"> 
    <input type="hidden" name="sid" id="sid" value="2056" /> 
    <input type="submit" name="up" id="up" value="Vote Up" /> 
    <input type="submit" name="down" id="down" value="Vote Down" /> 
</form> 

这里是jQuery的

$(document).ready(function() { 
$(".vote_form").submit(function() { return false; }); 
$("#up, #down").click(function(event) { 
    $form = $(this).parent("form"); 
    $.post($form.attr("action"), $form.serialize() + "&submit="+ $(this).attr("name"), function(data) { 
      $('#results').html(data); 
     }); 
    }); 
}); 

仅供参考,如果这里存在的问题和.htaccess

Options +ExecCGI 
AddHandler php-cgi .php .html .htm .xml 
Action php-cgi /cgi-bin/php.cgi 

<FilesMatch "^php5?\.(ini|cgi)$"> 
Order Deny,Allow 
Deny from All 
Allow from env=REDIRECT_STATUS 
</FilesMatch> 

#Options +Indexes 
Options +FollowSymlinks 

RewriteEngine On 
RewriteBase/

我读到一个问题在这里与固定改变URL协议从一个类似的问题AUTO为URI_REQUEST,但我没有使用CodeIgnitor或任何其他框架。

我已经基本上剥离了页面上的所有内容,只是使用上面的表单和jquery(vote.php仅打印出$ _POST变量 - 也用$ _REQUEST尝试过)。

基本上我很难过。有什么想法吗?

回答

0

你有没有试过alert($form.attr("action"))只是为了确保你得到正确的东西?还要用你的浏览器投票.php?

+0

我没有 - 试着用alert($(this).attr(“name”));它正在为click事件工作。然后你的评论让我想在.post中用$(“。vote_form”)替换$ form变量,它工作得很好!谢啦。新鲜的眼睛走了很长的路! – hellodolly 2011-03-29 03:59:20