HTML+Javascript表单提交问题
我编写了一个html+javascript表单,它显示一组图像和一个提交按钮。用户可以选择他或她感兴趣的图像,当用户单击图像时,我更改图像边框以指示图像选择 当用户单击submit按钮时,我希望我的服务器端脚本接收与所选图像关联的图像URI,以便进一步处理 我是一个JS新手。我想知道如何最好地做到这一点。我需要一个全局javascript数组来填充所选的图像URI吗?然后这个数组可以作为HTTP POST的一部分提交 任何提示/提示都会很有帮助 试试这个:HTML+Javascript表单提交问题,javascript,html,image,uri,Javascript,Html,Image,Uri,我编写了一个html+javascript表单,它显示一组图像和一个提交按钮。用户可以选择他或她感兴趣的图像,当用户单击图像时,我更改图像边框以指示图像选择 当用户单击submit按钮时,我希望我的服务器端脚本接收与所选图像关联的图像URI,以便进一步处理 我是一个JS新手。我想知道如何最好地做到这一点。我需要一个全局javascript数组来填充所选的图像URI吗?然后这个数组可以作为HTTP POST的一部分提交 任何提示/提示都会很有帮助 试试这个: //...let's suppose
//...let's suppose this is the image you change the border of on click..
<img src="whatever" onclick="createHidden(this);" />
<script type="text/javascript">
function createHidden(field)
{
var hdn = document.createElement("input");
hdn.setAttribute('type', 'hidden');
hdn.setAttribute('name', 'hdn[]');
hdn.setAttribute('value', field.src); // populate images src now
var frm = document.getElementsByTagName("form")[0];
frm.appendChild(hdn);
}
</script>
现在,您可以在服务器端脚本中访问hdn阵列中的图像路径。如果我是您,我会确保它在没有JavaScript的情况下也能工作。例如
<form action="" method="POST">
<label for="image_1">
<img src="image_1_uri" alt="Image 1" />
<input type="checkbox" name="images" id="image_1" value="image_1_uri" />
</label>
<label for="image_2">
<img src="image_2_uri" alt="Image 2" />
<input type="checkbox" name="images" id="image_2" value="image_2_uri" />
</label>
<input type="submit" />
</form>
然后调整添加JavaScript的边框,使其在单击标签而不是图像时工作
如果你不喜欢复选框,可以通过CSS隐藏复选框。要在旧版本的Internet Explorer中执行此操作,您需要在复选框中添加一个类。如果我错了,请更正我的错误,但是新创建的字段不应该按表单元素的一部分进行吗?现在,它是身体的一部分,在调用submit时不会被提交。@Edelcom:你是对的,我很好奇,但在回答这个问题时忘了写它。感谢infoming:我认为您需要使用var hdn=document.createElement'input'开始元素创建;然后hdn.setAttribute'type'、'hidden',然后从那里继续…@KenB:接得好,我没注意到。谢谢:谢谢你们。这很有帮助:-