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