【问题标题】:resetting form with javascript won't work用javascript重置表单不起作用
【发布时间】:2010-12-14 06:31:15
【问题描述】:

这是我的主页代码:

        <form><iframe name="iframe_pic" src="iframe.html"></iframe></form>

这是我的 iframe.html:

    <script type="text/javascript">
function reset_imageform(){
    f = document.getElementById("pic_form");
    f.src=f.src;
}
</script>
</head>
<body><form name="pic_form" id="pic_form" enctype="multipart/form-data" method="post" action="bincgi/imageUpload.php"><input name="pic_file" type="file" id="pic_file" size="35" onChange="this.form.submit();"></form>

这是我的一些 php 文件 imageUpload.php:

    $display_image="<img src='../temp_images/$newfilename'>";
$display_image.="<br><a style='font-weight:bold; font-size:12px;' href='#' onclick='window.parent.reset_imageform();'>remove picture</a>";
echo $display_image;

阅读: 如您所见,我试图在 iframe.html 中调用 javascript 来重置表单。 这是因为在我所有的 php 之后,图像显示,我希望用户能够单击链接,然后表单被重置,用户可以选择另一张图片上传。

我应该重置表单 (pic_form) 还是应该重新加载包含“pic_form”的整个 iframe (iframe_pic)?如果有人知道,任何代码都将不胜感激?

谢谢

【问题讨论】:

    标签: php javascript html forms iframe


    【解决方案1】:

    在我看来,您正在尝试重新加载表单,而实际上您应该重新加载实际的 iframe。

    【讨论】:

    • 那我如何重新加载 iframe?
    • 既然在iframe中,应该可以运行:document.location = document.location;
    • 实际上这不起作用,弹出窗口总是询问我是否要在表单中再次发送信息,然后即使我这样做,表单也没有重置,图像仍然存在上传了...叹息
    【解决方案2】:

    使用表单的重置按钮怎么样?

    <input type="reset" value="this button resets the form" />
    

    【讨论】:

    • 天哪,我们有什么愚蠢的。忽略简单的事情,嗯? ;)
    • 也许我太简单了,看不到简单的事情?秋千和环形交叉路口... =)
    【解决方案3】:

    以下是重新加载 iframe 的方法:

    var iframe = document.getElementById(yourframe);
    iframe.contentDocument.location.reload(true);
    

    【讨论】:

      猜你喜欢
      • 2015-02-03
      • 2013-02-12
      • 1970-01-01
      • 1970-01-01
      • 2016-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多