У меня проблема с событием onchange
. Он отлично работает на Chrome и FF, но не на IE. Вот код:onchange не работает на IE, но отлично работает на Chrome и FF
<div class="panel-body panel-default upload">
<div class="form-group upload">
{!! Form::open(array('url'=>'scriptUpload/upload','method'=>'POST', 'files'=>true, 'class' => 'fluid ui action labeled input')) !!}
<label for="project" class="col-sm-6 control-label">Elementary script</label>
<div class="control-group">
<div class="controls input">
<input id="files" type="text" class="input upload" readonly>
<label class="col-sm-5">
<span class="btn btn-primary upload">
Browse… <input name='elementaryScript[]' id='elementaryScriptId' type="file" style="display: none;" multiple onchange="isUploadPossible(this)">
</span>
</label>
</div>
</div>
<div id="success">
{!! Form::button('Upload', array('id' => 'submitButton', 'class'=>'btn btn-primary upload', 'onClick' => 'fileExists()', 'disabled'=>'true')) !!}
{!! Form::close() !!}
</div>
</div>
</div>
А вот функция JS, которая называется:
function isUploadPossible(elem) {
if (elem.value == "")
elem.getRootNode().getElementsByTagName('button').submitButton.disabled = true;
else
elem.getRootNode().getElementsByTagName('button').submitButton.disabled = false;
}
Так в основном, когда пользователь выбирает файлы, он должен сделать атрибут кнопки загрузки disabled
в false
.
Я прочитал здесь и там, что его нужно изменить на onclick
, но я не могу, поскольку он должен быть запущен после того, как пользователь выбрал файлы для загрузки, и onclick
будет уволен раньше.
EDIT: Я на самом деле произошло, чтобы эта ошибка:
Object doesn't support property or method 'getRootNode'
Какую ошибку он показывает? – Shubham
Нет ошибки, кнопка просто остается открытой. И когда я использую отладчик, чтобы проверить, что происходит (не), я вижу, что функция JS никогда не вызывается. – Papple
У меня действительно есть эта ошибка в консоли: 'Объект не поддерживает свойство или метод 'getRootNode'' – Papple