微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 从textField清除或删除文件

我正在使用PHP的Yii框架,并且在文本字段中清除或删除上传文件时出现问题.目前,它将从fileField中删除内容,但无法将其删除删除文本字段.有任何想法吗?

UPDATE
我现在可以清除textField了,因为我通过添加$(‘.getFile’)来硬编码我的clearFileInputField函数.val(“”);我在HTML中通过添加’class’=>来引用它输入部分中的’getName’.虽然这会清除数据,但在保存后不会删除文件.有什么建议?

HTML

  <div id = "clearContent">
            <?PHP echo $form->labelex($model,'info'); ?>
            <?PHP echo $form->textfield($model,'info', array(placeholder => "No file chosen", readonly => true, 'class' => 'getName')); ?><br>
            <?PHP echo $form->fileField($model,'info'); ?>
            <?PHP echo $form->error($model,'info'); ?>

            <input type="checkBox" onclick = "clearFileInputField('clearContent')" href="javascript:noAction();"> Remove File
    </div>

JavaScript的:

<script>
    function clearFileInputField(tagId) {
        document.getElementById(tagId).innerHTML = document.getElementById(tagId).innerHTML;
        $('.getFile').val("");
    }
</script>

解决方法:

我不确定我是否理解你正确的问题.如果我完全理解这个问题,请详细说明,我会尽力改进我的答案.

如果要删除文本和文件输入的内容(值属性),可以使用如下代码

// listen to the click on the #clearnbtn element
document.getElementById('clearbtn').addEventListener('click', function() {
    // Remove the value of the #foo and #bar elements
    document.getElementById('foo').value = "";
    document.getElementById('bar').value = "";
});

如果你想删除整个字段,你可以这样做:

// Retrieves the input element, gets its parents and removes itself from it
var fooElement = document.getElementById('foo');
fooElement.parentElement.removeChild(fooElement)

或者,您可以将父元素的innerHTML属性设置为空字符串(”).

document.getElementById('clearContent').innerHTML = "";

https://jsfiddle.net/osjk7umh/1/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐