Очистка файла HTML загружает поле через JavaScript

Вы звоните add_nodes_from не в ту сторону. Это метод базового класса MultiGraph , а не атрибут самого модуля networkx. Таким образом, синтаксис должен быть

G = nx.MultiGraph()
G.add_nodes_from(auth_dict)

(обратите внимание на точку вместо '=').

Так что, я полагаю, вы называете это как

G = nx.add_nodes_from(foo)

в своем основном коде, что опять-таки неверный синтаксис - посмотрите здесь или по ссылке, которую вы разместили сами для получения дополнительной информации.

58
задан Hutch Moore 11 March 2016 в 22:29
поделиться

4 ответа

Вы не можете установить входное значение в большинстве браузеров, но вы можете создать новый элемент, скопировать атрибуты из старого элемента и поменять их местами.

Учитывая форма вроде:

<form> 
    <input id="fileInput" name="fileInput" type="file" /> 
</form>

Прямой способ DOM:

function clearFileInput(id) 
{ 
    var oldInput = document.getElementById(id); 

    var newInput = document.createElement("input"); 

    newInput.type = "file"; 
    newInput.id = oldInput.id; 
    newInput.name = oldInput.name; 
    newInput.className = oldInput.className; 
    newInput.style.cssText = oldInput.style.cssText; 
    // TODO: copy any other relevant attributes 

    oldInput.parentNode.replaceChild(newInput, oldInput); 
}

clearFileInput("fileInput");

Простой способ DOM. Это может не работать в старых браузерах, которым не нравится ввод файлов:

oldInput.parentNode.replaceChild(oldInput.cloneNode(), oldInput);

Способ jQuery:

$("#fileInput").replaceWith($("#fileInput").val('').clone(true));

// .val('') required for FF compatibility as per @nmit026

Сброс всей формы через jQuery: https://stackoverflow.com/a/13351234/1091947

80
ответ дан 24 November 2019 в 18:41
поделиться

Они не получают фокусные события, поэтому вам придется использовать такой трюк: единственный способ очистить его - очистить всю форму

<script type="text/javascript">
    $(function() {
        $("#wrapper").bind("mouseover", function() {
            $("form").get(0).reset();
        });
    });
</script>

<form>
<div id="wrapper">
    <input type=file value="" />
</div>
</form>
4
ответ дан 24 November 2019 в 18:41
поделиться

Да, элемент загрузки защищен от прямого манипулирования в разных браузерах. Однако вы можете стереть элемент из дерева DOM, а затем вставить новый вместо него с помощью JavaScript. Это дало бы вам тот же результат.

Что-то вроде:

$('#container-element').html('<input id="upload-file" type="file"/>');
8
ответ дан 24 November 2019 в 18:41
поделиться

В итоге я использовал следующий код:

clearReviewFileSel: function() {
  var oldInput = document.getElementById('edit-file-upload-review-pdf') ;
  var newInput = document.createElement('input');
  newInput.id    = oldInput.id ;
  newInput.type  = oldInput.type ;
  newInput.name  = oldInput.name ;
  newInput.size  = oldInput.size ;
  newInput.class  = oldInput.class ;
  oldInput.parentNode.replaceChild(newInput, oldInput); 
}

Спасибо всем за предложения и подсказки!

5
ответ дан 24 November 2019 в 18:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: