2012-01-14 61 views
0

我试图让价值在AJAX两个隐藏字段这在某种程度上是不会发生。我正在使用http://www.wbotelhos.com/raty/评分插件。评插件通价值AJAX

值不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> 

回答

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); 
      } 
     }); 
}); 

0

让您使用纯JavaScript,使AJAX请求。要确保你必须编码发送的值得到:encodeUricomponent(a)...

但是,因为你包含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; 

}); 
+0

我只是想,但仍是VALU Ë传递是不确定的,DNT知道问题所在 – 2012-01-14 23:19:18

+0

我注意到另一件事是,率(A,B,C)有3个参数,而这里的onclick =“率(‘的$ id’,‘$ MSG_ID’)你是给刚其中2,所以C仍会被删除它,只有A和b淡水河谷是未定义 – albanx 2012-01-14 23:28:35

+0

'onclick =“rate('<?php echo $ id?>','<?php echo $ msg_id?>')”' – 2012-01-14 23:31:59