2017-11-18 53 views
0

我在页面上使用HTML下拉菜单,我的要求是当我从下拉列表中选择任何值时,它希望将其存储在同一页上的PHP变量中而无需提交表单或不刷新页面。如何将HTML SELECT元素值设置为php变量ONSELECT

我的代码是:

脚本:

<script type="text/javascript"> 
    $("#bank_name").change(function(){ 

    var data=$(this).val(); 
    alert(data); 

    $.ajax({ 
     url:"transaction.php", 
     type:"POST", 
     data: ({"bank_code": data}), 
     sucess: function(response){ 
     console.log("Success"); 
     alert(data); 
    }, 

    error: function(response){ 
     console.log("Error"); 
     alert(data); 
    } 
    }); 
    <script> 

PHP代码:

$bank_code=$_POST["bank_code"]; 
    echo "Bank Code is:",$bank_code; 

它被选中选项的值,也提醒值,但警告之后它不会在PHP中回显值。

+0

也显示你的html。和状态你想输出 –

+0

它应该是'alert(response);' – Akintunde007

回答

2

您在success有类型的错误,你应该删除那些()括号内data现场访问$_POST像下面的PHP,

<script type="text/javascript"> 
    $("#bank_name").change(function(){ 

    var data=$(this).val(); 
    alert(data); 

    $.ajax({ 
     url:"transaction.php", 
     type:"POST", 
     data: {bank_code: data), 
     success: function(response){ 
     console.log("Success"); 
     alert(response); 
    }, 

    error: function(response){ 
     console.log("Error"); 
     alert(data); 
    } 
    }); 
    <script> 
+0

我做到了,但它仍然没有回应任何值 –

+1

那些'()'不会感染任何东西......它们将评估为内部对象 – charlietfl

+0

嗨,naveen我编辑了我的答案,成功输入错误, –

1

回声将在success回调被接收为response

$("#bank_name").change(function() { 

     var data = $(this).val(); 
     alert(data); 

     $.ajax({ 
     ...., 
     success: function(response) { 
      console.log("Success"); 
      // alert response instead 
      alert(response); 

     }, 

     ...... 
     }); 
+0

'后警告它不会回显PHP中的值.'似乎用户希望看到pp中的值但不在js中 – brk

+0

正是如此,我不想把这个响应引用到JS中,但将它保存到PHP变量中,并将其回显到同一个php脚本中 –

+1

@ NaveenK.Sanadhya'这是不可能的。 PHP只能在服务器上运行,而不能在浏览器中运行 – charlietfl