Прокрутите до конца, если вы хотите пропустить объяснение, и перейдите к решению.
Вы создаете несколько форм с одним и тем же именем.document.radioForm
будет ссылаться только на первую форму, которая, вероятно, нежелательна.Чтобы решить эту проблему, поместите теги формы вне цикла while
.
См. Ниже упрощенный обзор вашей проблемы без потери общности):
Текущая ситуация (document.radioForm.imageRadio.length = 1):
<!-- Only the first form is selected by JS. All of the others are ignored-->
<form name="radioForm"><input type="radio" name="imageRadio" id="imag1" /></form>
<form name="radioForm"><input type="radio" name="imageRadio" id="imag2" /></form>
<form name="radioForm"><input type="radio" name="imageRadio" id="imag3" /></form>
<!-- Et cetera -->
Желаемая ситуация (<form>
помещено за пределами while
цикл):
<form name="radioForm">
<input type="radio" name="imageRadio" id="image1" />
<input type="radio" name="imageRadio" id="image2" />
<input type="radio" name="imageRadio" id="image3" />
</form>
Исправленокод Одной формы достаточно, чтобы удовлетворить ваши пожелания.Форма будет отправлена только при нажатии на кнопку <input type="submit" .. />
.Так как атрибут name
вашей предыдущей «второй» формы устарел, я пропустил его, не нарушая никакого кода.
<form name="radioForm"
action="http://128.233.104.33/passimagemodels/uploadServer.php?dbname=<? echo $dbname ?>"
method="post" target="foo" enctype="multipart/form-data">
<table id="newImageTable" border="1" style="position:absolute;">
<?
while($row=mysql_fetch_array($image_query)) {?>
<tr>
<td><img border="0" src="<?=$row['image_path']?>" /></td>
<td>
<input type="radio" name="imageRadio" id="<?=$row['image_name']?>" />
</td>
</tr>
<?}?>
<tr>
<td width="60%">
<!--<input type="file" id="image" /><input type="button" id="imagePathButton" value="Upload Image" onclick="uploadImagePath()" />-->
<input type="submit" name="submitBtn" value="Upload" />
</td>
<td width="10%">
<input type="button" value="Use selected image" id="useImageButton" onclick="post_value();" />
</td>
</tr>
</table>
</form>
Я изменил только одно: обработчик событий onsubmit
былудален.Это не имеет смысла и будет огромным раздражением для пользователя.