Php html表单的动态子字段
我是一名web开发新手,正在尝试创建一个html表单,该表单将根据先前的选择动态生成一个子字段。例如,使用下面的代码段,如果用户选择“每个中心”,则表单将为中心的值提供另一个子字段。同样,对于“每个客户端”,提供选项。但是,Global不需要或没有任何子字段Php html表单的动态子字段,php,html,Php,Html,我是一名web开发新手,正在尝试创建一个html表单,该表单将根据先前的选择动态生成一个子字段。例如,使用下面的代码段,如果用户选择“每个中心”,则表单将为中心的值提供另一个子字段。同样,对于“每个客户端”,提供选项。但是,Global不需要或没有任何子字段 <!DOCTYPE html> <html> <body> <form action="process.php" method="post"> <fieldset>
<!DOCTYPE html>
<html>
<body>
<form action="process.php" method="post">
<fieldset>
<b>Analysis Level</b>
<select name="level">
<option>Global</option>
<option>Per Center</option>
<option>Per Client</option>
</select></br></br>
分析水平
全球的
每中心
每位客户
如果有人能为我指引正确的方向,我将不胜感激。谢谢。你必须用Javascript来完成。从长远来看,最简单的方法是使用jQuery之类的东西 你可以用一种更简单的方法,这一次,用这样的方法:
<b>Analysis Level</b>
<select name="level" onchange="didChangeLevel(this);">
<option value="global">Global</option>
<option value="center">Per Center</option>
<option value="client">Per Client</option>
</select></br></br>
<b><span id="label"></span></b>
<input type="text" id="extrafld" name="extra" style="display: none;" />
分析级别
全球的
每中心
每位客户
从视觉上看,它与以前大致相同。但现在每次更改select时,都会调用一个函数。您可以这样编写函数:
<b>Analysis Level</b>
<select name="level" onchange="didChangeLevel(this);">
<option value="global">Global</option>
<option value="center">Per Center</option>
<option value="client">Per Client</option>
</select></br></br>
<b><span id="label"></span></b>
<input type="text" id="extrafld" name="extra" style="display: none;" />
- 恰当地
- 设置标签 didChangeLevel(组合){ var value=combo.options[combo.selectedIndex].value; var field=document.getElementById('extrafld') var label=document.getElementById('label'); 开关(值){ “全球”案例: field.style.display='none'; 打破 案例“中心”: label.innerHTML='中心名称:'; field.style.display='block'; 打破 “客户”案例: label.innerHTML='客户端名称:'; field.style.display='block'; 打破 } 返回; }
当您收到表单PHP端时,只需检查select的值。如果不是“全局”,请查找
$\u POST['extra']
以包含额外字段值。希望这是朝着正确方向迈出的一步
如果你想做这个活(而不是刷新页面),你需要看看Javascript。谢谢Lewis,这是一个好的开始。我将上面的脚本复制到一个java脚本中,并将其从html正文中调用为。但是,它并没有按预期工作。一旦我打开html,中心和客户端子字段就已经存在(作为静态字段),而不是在选择适当的父字段后出现。如果我在复制js时遗漏了什么,有什么建议吗?再次感谢。