Javascript 在PHP中更改时提交多个JS表单
我有一段时间在PHP中构建一个表。在我的while中,我有一个下拉菜单,我想在更改时执行代码。。。。更改时提交的表单不起作用。。。 这是我的代码:Javascript 在PHP中更改时提交多个JS表单,javascript,php,Javascript,Php,我有一段时间在PHP中构建一个表。在我的while中,我有一个下拉菜单,我想在更改时执行代码。。。。更改时提交的表单不起作用。。。 这是我的代码: <? while ($data2 = mysql_fetch_array( $data)) { ?> <form name="FormSize" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" > <td> <s
<?
while ($data2 = mysql_fetch_array( $data))
{ ?>
<form name="FormSize" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >
<td>
<select name="size[]" class="form-field3" OnChange="document.FormSize.submit();" >
<? foreach ($sizearray as $value) { ?>
<option value="$value" <? if($data2['size'] == $value) { echo "selected";} ?> ><? echo $value; ?></option>
<? } ?>
</select>
<input type="hidden" name="product_id[]" value="<? echo $data2['product_id']; ?>">
</td>
</form>
<? } ?>
您有多个表单具有相同的name=“FormSize”
。因此document.FormSize
将是一个类似数组的对象,您需要访问相应的对象。您可以使用this.form
引用包含
的
来执行此操作
您还需要修复元素嵌套——
必须位于
内部,而不是相反
<?
while ($data2 = mysql_fetch_array( $data))
{ ?>
<td>
<form name="FormSize" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >
<select name="size[]" class="form-field3" OnChange="this.form.submit();" >
<? foreach ($sizearray as $value) { ?>
<option value="$value" <? if($data2['size'] == $value) { echo "selected";} ?> ><? echo $value; ?></option>
<? } ?>
</select>
<input type="hidden" name="product_id[]" value="<? echo $data2['product_id']; ?>">
</form>
/td>
<? } ?>
可能是因为html无效,您不能将表单
标记作为tr
的直接子项
除此之外,将所有表单命名为同一个表单将使按其名称提交特定表单变得非常困难
当您使用数组作为输入
名称时,我假设您的意思是所有这些名称都是相同的形式,因此您应该让表单包装表格,并将其从循环中取出。我的表单名称是唯一的。。。我以前把表单标签放在tr里面,它起作用了。。。我不确定这就是问题所在,您正在while
循环中使用相同的nam生成多个表单。
<?
while ($data2 = mysql_fetch_array( $data))
{ ?>
<td>
<form name="FormSize" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >
<select name="size[]" class="form-field3" OnChange="this.form.submit();" >
<? foreach ($sizearray as $value) { ?>
<option value="$value" <? if($data2['size'] == $value) { echo "selected";} ?> ><? echo $value; ?></option>
<? } ?>
</select>
<input type="hidden" name="product_id[]" value="<? echo $data2['product_id']; ?>">
</form>
/td>
<? } ?>