我有以下代码:

<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是要发送到表单的参数


希望这可以帮助 :)

09-10 08:42
查看更多