web-dev-qa-db-ja.com

ドロップダウンのonchange呼び出しPHP関数

以下のコードで私がしようとしていることは、ドロップダウンメニューからPHP関数を呼び出すことです。

これを行うきれいな方法はありますか?

コード:

<html>
<head>
</head>
<body>
   <?php
     function OnSelectionChange() {
       echo("OK IT WORKS");
     }    
  ?>
  <section>
    <select onchange="OnSelectionChange()">
      <option value='' disabled selected>Assign Driver</option>
      <option value='4353'>Steve Jobs</option>
      <option value='3333'>Ian Wright</option>
      <option value='66666'>Mark James</option>
    </select>
  </section>    
</body>
</html>
4
Mark James

jqueryを使用した単純なajax

索引ページ

<!DOCTYPE html>
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
        <script>
            $(document).ready(function(){
            $('#myDropDown').change(function(){
                //Selected value
                var inputValue = $(this).val();
                alert("value in js "+inputValue);

                //Ajax for calling php function
                $.post('submit.php', { dropdownValue: inputValue }, function(data){
                    alert('ajax completed. Response:  '+data);
                    //do after submission operation in DOM
                });
            });
        });
        </script>
    </head>
<body>
    <select id="myDropDown">
        <option value='' disabled selected>Assign Driver</option>
        <option value='4353'>Steve Jobs</option>
        <option value='3333'>Ian Wright</option>
        <option value='66666'>Mark James</option>
     </select>

</body>
</html>

submit.php

<?php
function processDrpdown($selectedVal) {
    echo "Selected value in php ".$selectedVal;
}        

if ($_POST['dropdownValue']){
    //call the function or execute the code
    processDrpdown($_POST['dropdownValue']);
}

単純なjs ajaxの使用 XMLHttpRequest

3
Santhy K

JavaScriptを使用せずにphpを使用するだけで、ドロップダウンリストから選択した値を取得できます。

<html>
<head>
<title>Country</title>
</head>
<body>
<form>
    Select Your Country 
    <select name="country" onchange="this.form.submit()">
        <option value="" disabled selected>--select--</option>
        <option value="india">India</option>
        <option value="us">Us</option>
        <option value="europe">Europe</option>
    </select>
</form>
<?php
   if(isset($_GET["country"])){
       $country=$_GET["country"];
       echo "select country is => ".$country;
   }
?>
</body>
</html>
2
vivekcs0114

Onchangeイベントをphp関数に接続しません。 JavaScript関数を使用する必要があります

<script>
 function OnSelectionChange()
 {
  alert("OK IT WORKS");
 }
</script>
1
JungKyungSuk

できません。代わりにJavaScript関数を使用してください

<html>
<head>
</head>
<body>

<script>
function OnSelectionChange()
{
 alert("OK IT WORKS");
}
</script>

<section>
 <select onchange="OnSelectionChange()">
  <option value='' disabled selected>Assign Driver</option>
  <option value='4353'>Steve Jobs</option>
  <option value='3333'>Ian Wright</option>
  <option value='66666'>Mark James</option>
 </select>
</section>


</body>
</html>
0
<html>
<head>
<title>Country</title>
</head>
<body>
<form>
    Select Your Country 
    <select name="country" onchange="this.form.submit()">
        <option value="" disabled selected>--select--</option>
        <option value="india">India</option>
        <option value="us">Us</option>
        <option value="europe">Europe</option>
    </select>
</form>
<?php
   if(isset($_GET["country"])){
       $country=$_GET["country"];
       echo "select country is => ".$country;
   }
?>
</body>
</html>
0
Prmaja Co.