使用$.post()的jquery按钮

使用$.post()的jquery按钮,jquery,button,.post,Jquery,Button,.post,我正在尝试使用jquery为我的网站创建一个向上投票、向下投票按钮。我所做的是创建一个表单,并使用$.post()在外部php脚本中对其进行处理。我原以为这样可以在后台安静地处理表单,但当我单击按钮时,jquery函数似乎不起作用,它只是在前端加载整个脚本 如果有人能在这里提供帮助,我将不胜感激。谢谢下面是我的脚本 主PHP脚本 <div class="voting_class"> <?php $user =& JFactory::getUser();

我正在尝试使用jquery为我的网站创建一个向上投票、向下投票按钮。我所做的是创建一个表单,并使用$.post()在外部php脚本中对其进行处理。我原以为这样可以在后台安静地处理表单,但当我单击按钮时,jquery函数似乎不起作用,它只是在前端加载整个脚本

如果有人能在这里提供帮助,我将不胜感激。谢谢下面是我的脚本

主PHP脚本

<div class="voting_class">

<?php
    $user =& JFactory::getUser();
    $ip = getenv('REMOTE_ADDR');
    if($user->id == 185){
?>

<form method="post" action="../vote_plus.php">
    <div class="form_element">
        <label>user_id</label>
        <input type="text" name="user_id" class="votetext" value="<?php echo $user->id;?>" />
    </div>
    <div class="element">
        <label>ad_id</label>
        <input type="text" name="ad_id" class="votetext" value="<?php echo $this->content->id;?>"/>
    </div>
    <div class="element">
        <label>ip_address</label>
        <input type="text" name="ip_address" class="votetext" value="<?php echo $ip;?>"/>
    </div>
    <div class="submit_element">
        <input type="submit" class="button" id="submitadd" value="Recommend"/>
        <div class="loading"></div>
    </div>
    <div class="submit_element">
        <input type="submit" class="button" id="submitminus" value="Don't Recommend" />
        <div class="loading"></div>
    </div>
</form>
<p class="success_msg" style="display:none"></p>

<?php }?>

</div>

用户id
你的线路

$.post('../vote_plus.php', { user: "user_id.val()", ad: "ad_id.val()", ip: "ip_address.val()" }, function(){
应该是

$.post('../vote_plus.php', { user: user_id.val(), ad: ad_id.val(), ip: ip_address.val() }, function(){

这是您的代码的简化版本

$(function () {
  $('#submitadd').click(function (event) {       
    $.post(
      '../vote_plus.php', { 
        user: $('input[name=user_id]').val(), 
        ad:   $('input[name=ad_id]').val(),
        ip:   $('input[name=ip_address]').val() 
      }, function () {
        $('.success_msg').append("Vote Successfully Recorded").fadeOut();
      }
    );
    event.preventDefault();
  });
});
一般提示:

  • 这不是jQuery脚本,而是JavaScript
  • 如果单击了提交按钮,请不要使用说明明显内容的注释,如
    //如果单击了提交按钮
    。它们没有任何价值
  • 使用适当、一致的压痕
  • 使用
    event.preventDefault()
    而不是
    返回false
  • 您可以在jQuery中链接操作,如
    .append()
    .fadeOut()
    。无需为此创建两行代码
  • $(document).ready()
    可以安全地替换为
    $()
您的产品线

$.post('../vote_plus.php', { user: "user_id.val()", ad: "ad_id.val()", ip: "ip_address.val()" }, function(){
应该是

$.post('../vote_plus.php', { user: user_id.val(), ad: ad_id.val(), ip: ip_address.val() }, function(){

这是您的代码的简化版本

$(function () {
  $('#submitadd').click(function (event) {       
    $.post(
      '../vote_plus.php', { 
        user: $('input[name=user_id]').val(), 
        ad:   $('input[name=ad_id]').val(),
        ip:   $('input[name=ip_address]').val() 
      }, function () {
        $('.success_msg').append("Vote Successfully Recorded").fadeOut();
      }
    );
    event.preventDefault();
  });
});
一般提示:

  • 这不是jQuery脚本,而是JavaScript
  • 如果单击了提交按钮,请不要使用说明明显内容的注释,如
    //如果单击了提交按钮
    。它们没有任何价值
  • 使用适当、一致的压痕
  • 使用
    event.preventDefault()
    而不是
    返回false
  • 您可以在jQuery中链接操作,如
    .append()
    .fadeOut()
    。无需为此创建两行代码
  • $(document).ready()
    可以安全地替换为
    $()
改用这个:

<script type = "text/javascript">
    $(document).ready(function() {

        //if submit button is clicked
        $('#submitadd').click(function() {       

            //Get the data from all the fields
            var user_id = $('input[name=user_id]').val();
            var ad_id = $('input[name=ad_id]').val();
            var ip_address = $('input[name=ip_address]').val();

            $.post('../vote_plus.php', { user : user_id, ad : ad_id, ip : ip_address }, function(){
            $('.success_msg').append("Vote Successfully Recorded");
                $('.success_msg').fadeOut();
        });        
            return false;
         });
    });     
    </script>

$(文档).ready(函数(){
//如果单击“提交”按钮
$('#submitad')。单击(函数(){
//从所有字段中获取数据
var user_id=$('input[name=user_id]')。val();
var ad_id=$('input[name=ad_id]')。val();
var ip_address=$('input[name=ip_address]')。val();
$.post('../vote\u plus.php',{user:user\u id,ad:ad\u id,ip:ip\u address},function(){
$('.success_msg')。追加(“投票成功录制”);
$('.success_msg').fadeOut();
});        
返回false;
});
});     
改用这个:

<script type = "text/javascript">
    $(document).ready(function() {

        //if submit button is clicked
        $('#submitadd').click(function() {       

            //Get the data from all the fields
            var user_id = $('input[name=user_id]').val();
            var ad_id = $('input[name=ad_id]').val();
            var ip_address = $('input[name=ip_address]').val();

            $.post('../vote_plus.php', { user : user_id, ad : ad_id, ip : ip_address }, function(){
            $('.success_msg').append("Vote Successfully Recorded");
                $('.success_msg').fadeOut();
        });        
            return false;
         });
    });     
    </script>

$(文档).ready(函数(){
//如果单击“提交”按钮
$('#submitad')。单击(函数(){
//从所有字段中获取数据
var user_id=$('input[name=user_id]')。val();
var ad_id=$('input[name=ad_id]')。val();
var ip_address=$('input[name=ip_address]')。val();
$.post('../vote\u plus.php',{user:user\u id,ad:ad\u id,ip:ip\u address},function(){
$('.success_msg')。追加(“投票成功录制”);
$('.success_msg').fadeOut();
});        
返回false;
});
});     

@Lawrence这是一个明显的错误。我不知道你说的“不起作用”是什么意思,所以请尽量说得更具体些。对不起,我的评论模棱两可。试图编辑我的代码,但问题仍然存在,我的外部php页面仍然加载。@Lawrence这是明显的错误。我不知道你说的“不起作用”是什么意思,所以请尽量说得更具体些。对不起,我的评论模棱两可。尝试编辑我的代码,但问题仍然存在,我的外部php页面仍然加载。嗨,Vishal。谢谢尝试了您的方法,但问题仍然存在。好像我的脚本还没加载。嗨,维沙。谢谢尝试了您的方法,但问题仍然存在。看起来我的脚本甚至没有加载。