我正在使用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 = "";