我正在尝试为AJAX中的两个隐藏字段获取价值,但某种程度上并没有发生。我正在使用http://www.wbotelhos.com/raty/评级插件。
该值未进入AJAX
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.raty.min.js"></script>
</head>
<?php
$id=1;
$msg_id=192;
?>
<body>
<div id="click<?php echo $msg_id ;?>" onclick="rate('$id','$msg_id')">
<input type="hidden" id="uniqueRateID" name="uniqueRateID" value="<?php echo $id; ?>" />
<input type="hidden" name="ratedJS" value="<?php echo $msg_id ;?>" />
</div>
<script type="text/javascript">
$('#click<?php echo $msg_id ;?>').raty({
});
function rate(a,b,c)
{
alert(a+'jkij'+b+'dfdf'+c+'dddd');
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState==4 )
{
var accdata=xmlhttp.responseText;
alert(accdata);
document.getElementById('request').value="Request Sent";
document.getElementById('request').disabled=true;
}
}
xmlhttp.open("GET","modules/manage friends/update_friend.php?ab="+a+"&&bc="+b+"&& cd="+c,true);
xmlhttp.send();
}
</script>
答案 0 :(得分:1)
好像我解决了这个问题,我将其发布以备将来帮助
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.raty.min.js"></script>
</head>
<?php
$id=1;
$msg_id=192;
?>
<body>
<div class="rate" id="rate" >
<div id="click" name="click<?php echo $msg_id ;?>" >
<input type="text" id="valrate" name="valrate" value="fff"/>
</div>
<input type="hidden" id="uniqueRateID" name="uniqueRateID" value="<?php echo $id; ?>" />
<input type="hidden" id="type_id" name="type_id" value="<?php echo $msg_id ;?>" />
</div>
<script type="text/javascript">
$('#click').raty({
});
$("#rate").click(function()
{
var a = $('#uniqueRateID').val();
var b = $('#type_id').val();
var c = $('#valrate').val();
$.ajax({
type: "POST",
url: "greet.php",
data: "dataString=" + dataString,
success: function(result){
$("#response").html(result);
}
});
});
答案 1 :(得分:0)
您正在使用纯JavaScript来发出ajax请求。为了确保你必须在get:encodeUricomponent(a)...
中编码send发送的值但是当你包含jquery时,我建议你使用jquery方法简单地创建ajax请求,所以你不需要XHR检测功能:
$.get('modules/manage friends/update_friend.php',{ab:a,bc:b,cd:c},function(accdata){
alert(accdata);
document.getElementById('request').value="Request Sent";
document.getElementById('request').disabled=true;
});