PHP:选择更改时,将表单发布给自己

标签 php javascript forms postback

这基本上就是标题所说的。我有一个带有选择控件的表单,我想强制该表单在更改时回发给自己。

$bmsclientlist = $clientobj->getBMSClientList();

echo '<form name="changebmsid" method="post" action="' . $_SERVER['PHP_SELF'] . '"><select name="bmsid">';

foreach($bmsclientlist as $bmsclient) {
    $var = '';
    if($client['bmsid'] == $bmsclient['id']) {
        $var = ' selected="selected"';
    }
    echo '<option value="' . $bmsclient['id'] .'"'. $var .'>' .$bmsclient['clientname'] . '</option>';
}

echo '</select></form>';

$backupobj = new AdminBackup();

if(isset($_POST['bmsid']){
    $statusarray = $backupobj->getStatusTotalsbyId($_POST['bmsid']);
}else{
    $statusarray = $backupobj->getStatusTotals();
}

我知道它会涉及到一些 javascript,但我不太确定如何实现它。

非常感谢任何帮助!

谢谢,

琼妮

最佳答案

这是一个 <select>将提交父表单

<form method="post" action="#" name="myform">
    <select name="x" onchange="myform.submit();">
        <option value="y">y</option>
        <option value="z">z</option>
    </select>
</form>

您所要做的就是为您的 <form> 命名并将 onchange 事件添加到您的 <select> ...


亚当是对的。虽然上面的示例完美运行,但我会这样做:

使用 jQuery但还有许多其他选项可用...

<head>
<script type="text/javascript" src="jquery.js"></script>
<script>
    $(document).ready(function(){
        $('#mySelect').change(function(){
            myform.submit();
        });
    });
</script>
</head>

和表格

<body>
<form method="post" action="" name="myform">
    <select name="x" id="mySelect">
        <option value="y">y</option>
        <option value="z">z</option>
    </select>
</form>
</body>

关于PHP:选择更改时,将表单发布给自己,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3976222/

相关文章:

javascript - AngularJs:默认情况下未选择单选按钮

jquery表单插件出现双重提交

php - 使用 $_GET 将多个具有相同名称的 html 复选框添加到 URL

.net - .NET 中非矩形形式的平滑边缘

php - xampp 文件无法在 macos bigsur 中解压缩

php - IIS 不为 Laravel 站点提供 .css 和 .js 文件

php关系键错误

php通过socket编程传递c结构数据

javascript - 如何在函数onclick中调用函数

javascript - Ajax 调用后更改 Div 的高度