我有以下代码:
<select id="mySelect" onchange="myFunction()">
<option value="deleteuser">Delete User</option>
<option value="assignuser">Assign User</option>
</select>
</form>
<form id="deleteuser"></form>
<form id="assignuser"></form>
<script>
function myFunction() {
var x = document.getElementById("mySelect");
var i = x.selectedIndex;
document.getElementById("demo").innerHTML = x.options[i].text;
}
</script>
用户选择其中一个下拉选项后,我希望为每个选择显示一个单独的表单,用户将在其中编辑行中的数据。对不起,如果我没有描述正确的话。
选择后带有当前代码,它将显示选定的文本。
谢谢你的时间。
最佳答案
如果您正在寻找动态表单系统;您可以使javascript重新加载页面,并附加一个查询字符串,例如
本地主机/index.php?getform=apple
并在页面底部设置一个开关盒,以根据getform值显示其中一种形式
就像是
<form>
<select id="mySelect" onchange="myFunction()">
<option value="deleteuser">Delete User</option>
<option value="assignuser">Assign User</option>
</select>
</form>
<?php
if(isset($_GET["getform"]) && !empty($_GET["getfrom"])){
switch ($_GET["getfrom"]){
case "deleteduser":
?>
<form>
The form here
</form>
<?php
break;
case "assignuser":
?>
<form>
The form here
</form>
<?php
break;
}
}
?>
然后将根据传递给它的值显示from
或者,如果您想动态填充,则可以;您可以使用Ajax之类的东西从另一个页面检索它,具体取决于它接收到的参数。
<script>
function loadDoc(arg) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML =
this.responseText;
}
};
xhttp.open("GET", "getform.php?fromType="+arg, true);
xhttp.send();
}
</script>
这将根据用户选择的内容来更改表单,而无需完全刷新页面。
arg是要发送到表单的参数
希望这可以帮助 :)