Php 表单未标识通过javascript生成的新输入字段
我正在用php开发一个网站 我的表格有一些问题 我一次只能使用多个软件包 所以我使用javascript将文件和下拉列表附加到我的html中 每次单击链接时,我都会调用ajs函数来添加新的输入字段 并正确显示 但它并没有在我的行动页面中显示 我不能接受通过javascript函数创建的新输入字段的值 下面是我使用的代码页Php 表单未标识通过javascript生成的新输入字段,php,javascript,forms,Php,Javascript,Forms,我正在用php开发一个网站 我的表格有一些问题 我一次只能使用多个软件包 所以我使用javascript将文件和下拉列表附加到我的html中 每次单击链接时,我都会调用ajs函数来添加新的输入字段 并正确显示 但它并没有在我的行动页面中显示 我不能接受通过javascript函数创建的新输入字段的值 下面是我使用的代码页 <script language="JavaScript"> function addInput(divName){ var newsel= documen
<script language="JavaScript">
function addInput(divName){
var newsel= document.createElement('div');
newsel.innerHTML="<div style='padding-left:55px;padding-top:10px';>Operating System: <select name='frm_os1' id='test1' ><option value=''>--Select OS--</option><optgroup label='Spind Enabled'> </optgroup><option value='bc_linux'> bc_linux</option><optgroup label='Packages'> </optgroup><option value='Linux'> Linux</option><option value='Solaris'> Solaris</option><option value='2000/XP/Vista'> 2000/XP/Vista</option><option value='XP/Vista'> XP/Vista</option><option value='2K/XP/Vista/W7'> 2K/XP/Vista/W7</option><option value='HP'> HP</option><option value='Windows 2000/XP/Vista zip'> Windows 2000/XP/Vista zip</option><option value='Windows 2000/XP/Vista exe'> Windows 2000/XP/Vista exe</option><option value='X Server - 2.2M'> X Server - 2.2M</option><option value='Fonts - 32.9M'> Fonts - 32.9M</option></select></div>";
document.getElementById(divName).appendChild(newsel);
var newdiv = document.createElement('div');
newdiv.innerHTML = "<div style='padding-left:40px;padding-top:10px';>Upload Software File: <input type='file' name='frm_image1' class='text_area'></div>";
document.getElementById(divName).appendChild(newdiv);
}
</script>
</HEAD>
<form action="act-add-software.php" method="post" onSubmit="return validate(this);" enctype="multipart/form-data">
<select name="frm_os" class="text_area" style="width:200px">
<option value="">--Select OS--</option>
<optgroup label="Spind Enabled"> </optgroup>
<option value="bc_linux"> bc_linux</option>
<optgroup label="Packages"> </optgroup>
<option value="Linux"> Linux</option>
<option value="Solaris"> Solaris</option>
<option value="2000/XP/Vista"> 2000/XP/Vista</option>
<option value="XP/Vista"> XP/Vista</option>
<option value="2K/XP/Vista/W7"> 2K/XP/Vista/W7</option>
<option value="HP"> HP</option>
<option value="Windows 2000/XP/Vista zip"> Windows 2000/XP/Vista zip</option>
<option value="Windows 2000/XP/Vista exe"> Windows 2000/XP/Vista exe</option>
<option value="X Server - 2.2M"> X Server - 2.2M</option>
<option value="Fonts - 32.9M"> Fonts - 32.9M</option>
</select>
<a onClick="addInput('dynamicInput');">Add More Package</a> </td>
</td>
</tr>
<tr>
<td colspan="2"><table border="0" cellpadding="0" cellspacing="0">
<tr align="center" valign="middle" class="tbl_row1">
<td height="25" align="left" class="font1" width="156" bgcolor="White"><div align="right">
<?if(strstr($frm_server_side_error,'frm_software')){?>
<font class="error"><b> <font color="#dd0000">*</font> Upload Software File: </font>
<?}else{?>
<font class="form_element"> <font color="#dd0000">*</font> Upload Software File:
<?}?>
</div>
</B> </td>
<td class="font1" bgcolor="White" align="center" style="padding-left:2px;"><input type="file" name="frm_image[]" class="text_area">
</td>
<?if($frm_sfile !=""){?>
<td class="font1" bgcolor="White" align="center"></td>
<?}else{?>
<td class="font1" bgcolor="White" align="center"> (Current File: NOT Uploaded Yet) </td>
<?}?>
</tr>
</table></td>
</tr>
<tr>
<td colspan="2">
<div id="dynamicInput">
</div>
</td>
</tr>
</form>
函数addInput(divName){
var newsel=document.createElement('div');
newsel.innerHTML=“操作系统:--选择操作系统--bc_linux Solaris 2000/XP/Vista XP/Vista 2K/XP/Vista/W7 HP Windows 2000/XP/Vista zip Windows 2000/XP/Vista exe X服务器-2.2M字体-32.9M”;
document.getElementById(divName).appendChild(newsel);
var newdiv=document.createElement('div');
newdiv.innerHTML=“上传软件文件:”;
document.getElementById(divName).appendChild(newdiv);
}
--选择操作系统--
bc_linux
Linux
Solaris
2000/XP/Vista
XP/Vista
2K/XP/Vista/W7
惠普
Windows 2000/XP/Vista zip
Windows 2000/XP/Vista exe
X服务器-2.2M
字体-32.9M
添加更多包
*上载软件文件:
*上载软件文件:
(当前文件:尚未上载)
为了便于查看此代码页,我只包含了所需的代码行
请帮助我解决此问题这可能是因为
使用静态名称
因此,每次调用addInput()
都会很好地创建所有元素,所有元素都共享相同的名称
要轻松解决这个问题,您可以在名称后面附加一个迭代器,并将其存储在全局范围中
var iterator=0;
function addInput(){
var name = 'inputElementName'+(iterator++);
// etc...
}
太多的代码。请将其简化为简洁地说明问题的部分。然后使用“101010”按钮将其格式化为代码。是ascii代码还是类似的代码,但按钮是什么?编辑问题时,它是文本字段上方工具栏中的按钮之一。