阻止清除HTML表单输入文件

时间:2016-09-18 20:37:53

标签: javascript html iframe

好一点修改过的问题,有没有办法阻止我的文件输入清除。每次我用值更新表格时它会清除文件输入

FORM

<iframe name="my_iframe" src="" id="my_iframe"></iframe>
<form action="http://******/Update.php" method="post" enctype="multipart/form-data" target="my_iframe">
    <p>
        <input type="file" id="input" name="image" onchange="handleFiles()"/>
    </p>
    <p>
        text input1:
        <input type="text" name="text1" value="%%%myvalue1%%%"/>
    </p>
    <p>
        textinput2:
        <input type="text" name="text2" value="%%%myvalue2%%%"/>
    </p>
</form>

JAVASCRIPT - 这个载入IMRAME预览的图像

<script>
var img = document.getElementById("image");
var width = 450;
function handleFiles() {
    var filesToUpload = document.getElementById('input').files;
    var file = filesToUpload[0];

    var reader = new FileReader();
    reader.onload = function(e) {
        img.onload = function() {
            if (this.naturalWidth > width) {
                this.width = width;
            }
        }
        img.src = e.target.result;
    }
    reader.readAsDataURL(file);
}
</script>

更新 - %%%myvalue1%%%每当此更改时,它都会清除表单

中的文件输入
myvalue1 = ""
var text = "pears"
myvalue1 = text

我附上了一个示例应用here

3 个答案:

答案 0 :(得分:4)

我认为当你在哪里阻止或阻止右键单击和其他键来阻止你的代码你只需将块放在输入中显示文本,所以只需检查你用来阻止键和鼠标单击的所有脚本。我只需通过删除其他脚本来检查您的所有代码,我可以在输入中看到您的苹果和其他文本。

答案 1 :(得分:3)

为什么不让它分开form,并让图片form填充iframe,并有第二个form来捕获2 { {1}}字段值。

或者您可以将当前textbox中的三个字段中的值全部放入变量中。并让表单在运行之前查看变量是否为空,如果它们不为空,请使用form中当前字段的值。

答案 2 :(得分:2)

这取决于设置文本时到底发生了什么。看起来设置文本只是重置文件的值,或者导致只使用新文本值重建表单。同样,这实际上取决于您如何设置文本。