如何从表单元素<select>& lt; option>在PHP中提交表单


How do you take data from form element <select> with <option> into php on form submit?

我有一个像这样的表单。

<form name="myform" action="selectPlayer.php">
    <select name="forward" onchange="javascript:submitform(top);">
        <option value="-">-------</option>
        <option id="forwardAdd" value="add">Add</option>
        <option id="forwardChange" value="change">Change</option>
    </select>
    <select name="center" onchange="javascript:submitform(mid);">
        <option value="-">-------</option>
        <option id="centerAdd" value="add">Add</option>
        <option id="centerChange" value="change">Change</option>
    </select>
</form>

我提交表单的selectPlayer.php。在这个页面上,我需要知道这个人是否想要添加一个球员或改变球员在每个选择元素指定的位置。换句话说,如果一个球员想把科比添加到他们阵容的中心位置,我需要在selectPlayer.php中为此设置变量。

这是一个简单的使用Javascript的文档提交函数,如下所示:

<script type="text/javascript">
function submitform(var position)
{
    if(document.myform.onsubmit &&
    !document.myform.onsubmit())
    {
        return;
    }
document.myform.submit()
}
</script>

我应该把这些变量传递到下一个php页面的脚本?

在php页面的$_POST变量下获得您的选择,同时在您的表单中添加method = "post"

。$_POST['forward']将在此页面的此表单中给出forward选择的选项!

更新:

表单

<form name="myform" action="selectPlayer.php" method = "post">
    <select name="forward" id="forward">
        <option value="-">-------</option>
        <option id="forwardAdd" value="add">Add</option>
        <option id="forwardChange" value="change">Change</option>
    </select>
    <input type="submit" name="submit" value="Submit">
</form>

selectPlayer.php

<?php
 if(isset($_POST['forward'])){
  echo "OK";
 }
?>

UPDATE 2:

重要的是要将jquery文件附加到form.php

form.php

<html>
<head>
<script src="jquery-1.9.0.js"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function() { 
$(document).on('change', '#name', function() { 
    //var element = $(this); //USE THESE IN CASE OF MULTIPLE IDENTICAL FORMS AFTER MANIPULATING
    //var id = element.attr("id");
    var option = $("#name").val(); //obtaining the selected value
    var dataString = 'name='+ option; //preparing the datastring to send to get.php
        $.ajax({                        //using ajax
                type: "POST",           //request type post, you can use get here
                url: "get.php",         //page you're sending request
                data: dataString,       //datastring you are passing
                dataType:'html',        //responsetype you are wanting
                cache: false,       
                success: function(data){    //in case of successful response from get.php, response is in dataType format inside variable "data"
                     $("#output").append(data); //doing stuff on this page from response received from get.php
          }
         });
    return false;
});
});
</script>
<form>
    <select id="name">
        <option >---</option>
        <option value="1">ONE</option>
        <option value="2">TWO</option>
        <option value="3">THREE</option>
    </select>
</form>
<div id="output">THINGS WILL COME HERE, DELETE THIS TEXT IN ACTUAL USE<br/></div>
</body>
</html>

get.php

<?php
if(isset($_POST['name'])){
    switch($_POST['name']){
        case '1':   echo "YOU HAVE SELECTED ONE<br/>";
                    break;
        case '2':   echo "'nYOU HAVE SELECTED TWO<br/>";
                    break;
        case '3':   echo "'nYOU HAVE SELECTED THREE<br/>";
                    break;
        default :   break;
    }
}
?>
相关文章: