2013-02-11 84 views
0

我想使用Javascript/AJAX将所选单选按钮的值变为一个PHP会话变量。除了页面刷新之外,一切都可以使用。有没有办法不刷新页面?如何不用HTML JQuery AJAX PHP刷新页面?

的HTML:

<input type="radio" name="shipping_method" value="Standard"> Standard<br> 
<input type="radio" name="shipping_method" value="2-day"> 2-Day Air&#42<br> 
<input type="radio" name="shipping_method" value="Overnight"> Overnight<br> 

的JavaScript/AJAX(有一些警示注释掉):

<script> 
$(document).ready(function() { 
    $("input[name=shipping_method]").on('change', function(){ 
     var shipping_method = $('input:radio[name=shipping_method]:checked').val(); 
/*       alert (shipping_method); */ 
    $.ajax ({ 
     type: "GET", 
     url: ajax/shipping_method.php?shipping_method="+shipping_method, 
      success : function(data){ 
/*      alert(data); */  
     }, 
        error : function(XMLHttpRequest, textStatus, errorThrown) { 
        alert("problem: " + errorThrown); 
      } 
    }); 
    }); 
}); 

的shipping_method.php:

<?php session_start(); ?> 
<?php 
     $shipping_method = $_GET['shipping_method']; 
     $_SESSION['shipping_method'] = $shipping_method; 
?> 
+0

是当您单击单选按钮时刷新页面? – user20232359723568423357842364 2013-02-11 21:02:01

+0

给定代码中的任何内容都不会导致页面刷新。你遗漏了哪些部分?你可以用代码 的客户端部分创建一个JSFiddle吗? – 2013-02-11 21:02:53

+0

请添加更多代码,因为确保此代码不会刷新页面 – Sedz 2013-02-11 21:26:22

回答

0

不知道为什么它是发生但尝试阻止默认操作。将部分代码更改为:

$("input[name=shipping_method]").on('change', function(e){ 
e.preventDefault(); 
+0

为什么单选按钮的选择会导致页面刷新?这不是“默认行动” – 2013-02-11 21:04:01

+0

@PatBurke我不知道,但由于某种原因,似乎确实发生了 – 2013-02-11 21:04:48

0

using event.preventDefault();应该解决你的问题。