web-dev-qa-db-fra.com

Appel déroulant onchange PHP Function

Ce que j'essaie de faire avec le code ci-dessous est d'appeler une fonction PHP dans un menu déroulant.

Existe-t-il une façon propre de procéder?

code:

<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

ajax simple en utilisant jquery

sommaire

<!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>

dans 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']);
}

pour une utilisation js ajax simple XMLHttpRequest

3
Santhy K

Vous pouvez obtenir la valeur sélectionnée dans la liste déroulante simplement en utilisant php sans utiliser JavaScript.

<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

Ne connecte pas l'événement onchange avec la fonction php. doit utiliser la fonction javascript

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

Impossible de le faire, utilisez plutôt la fonction 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
Elliott Sadgamer
<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.