HTML+Javascript表单提交问题

HTML+Javascript表单提交问题,javascript,html,image,uri,Javascript,Html,Image,Uri,我编写了一个html+javascript表单,它显示一组图像和一个提交按钮。用户可以选择他或她感兴趣的图像,当用户单击图像时,我更改图像边框以指示图像选择 当用户单击submit按钮时,我希望我的服务器端脚本接收与所选图像关联的图像URI,以便进一步处理 我是一个JS新手。我想知道如何最好地做到这一点。我需要一个全局javascript数组来填充所选的图像URI吗?然后这个数组可以作为HTTP POST的一部分提交 任何提示/提示都会很有帮助 试试这个: //...let's suppose

我编写了一个html+javascript表单,它显示一组图像和一个提交按钮。用户可以选择他或她感兴趣的图像,当用户单击图像时,我更改图像边框以指示图像选择

当用户单击submit按钮时,我希望我的服务器端脚本接收与所选图像关联的图像URI,以便进一步处理

我是一个JS新手。我想知道如何最好地做到这一点。我需要一个全局javascript数组来填充所选的图像URI吗?然后这个数组可以作为HTTP POST的一部分提交

任何提示/提示都会很有帮助

试试这个:

 //...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:接得好,我没注意到。谢谢:谢谢你们。这很有帮助:-