Если вы используете машину Windows с загруженной электронной таблицей Excel, новый плагин mySql в Excel является феноменальным. Люди в Oracle действительно хорошо справились с этим программным обеспечением. Вы можете напрямую подключиться к базе данных из Excel. Этот плагин будет анализировать ваши данные и настраивать таблицы для вас в формате, совместимом с данными. У меня были некоторые файлы csv больших монстров данных для преобразования. Этот инструмент был большой экономии времени.
http://dev.mysql.com/downloads/windows/excel/
Вы можете делать обновления из Excel, которые будут заполняться в базе данных онлайн. Это очень хорошо работало с файлами mySql, созданными на ультра дешевом хостинге GoDaddy. (Обратите внимание, что когда вы создаете таблицу в GoDaddy, вам нужно выбрать некоторые нестандартные настройки, чтобы отключить доступ к базе данных в базе данных ...)
С помощью этого плагина у вас есть чистая интерактивность между вашей электронной таблицей XL и онлайн-хранилище данных mySql.
Отключенные элементы не запускают события мыши. Большинство браузеров будут распространять событие, происходящее из отключенного элемента, на дерево DOM, поэтому обработчики событий могут быть помещены на элементы контейнера. Тем не менее, Firefox не демонстрирует этого поведения, он просто ничего не делает, когда вы нажимаете на отключенный элемент.
Я не могу придумать лучшего решения, но для полной совместимости с браузером вы могли бы поместите элемент перед отключенным входом и поймайте щелчок по этому элементу. Вот пример того, что я имею в виду:
<div style="display:inline-block; position:relative;">
<input type="text" disabled />
<div style="position:absolute; left:0; right:0; top:0; bottom:0;"></div>
</div>
jq:
$("div > div").click(function (evt) {
$(this).hide().prev("input[disabled]").prop("disabled", false).focus();
});
Пример: http://jsfiddle.net/RXqAm/170/ (обновлено для использования jQuery 1.7 с prop
вместо attr
).
здесь также выглядит хорошим кандидатом на этот вопрос
Выполнение события click на отключенном элементе? Javascript jQuery
jQuery('input#submit').click(function(e) {
if ( something ) {
return false;
}
});
Отключенные элементы «едят» клики в некоторых браузерах - они не отвечают на них и не позволяют захватить их обработчиками событий в любом элементе или в любом из его контейнеров.
IMHO - самый простой, Самый чистый способ «исправить» это (если вам действительно нужно зафиксировать клики на отключенных элементах, таких как OP), просто добавьте следующий CSS на вашу страницу:
input[disabled] {pointer-events:none}
Это сделает любой клики на отключенном входе попадают в родительский элемент, где вы можете их захватить в обычном режиме. (Если у вас есть несколько отключенных входов, вы можете поместить их в отдельный контейнер самостоятельно, если они еще не выложены таким образом - дополнительный <span>
или <div>
, скажем - просто сделать это
Недостатком является то, что этот трюк, к сожалению, не будет работать для старых браузеров, которые не поддерживают свойство CSS pointer-events
. Он должен работать от IE 11, FF v3.6, Chrome v4): caniuse.com/#search=pointer-events
Если вам нужно поддерживать старые браузеры, Вам нужно будет использовать один из других ответов!
input[disabled]
также будет соответствовать элементам, отключенным JavaScript (element.disabled = true;
), но, похоже, это так. Во всяком случае, я нахожу уборщик input:disabled
.
– Martin
27 April 2016 в 10:18
Возможно, вы можете сделать поле readonly и отправить submit, чтобы отключить все поля readonly
$(".myform").submit(function(e) {
$("input[readonly]", this).attr("disabled", true);
});
, а вход (+ script) должен быть
<input type="text" readonly="readonly" name="test" value="test" />
$('input[readonly]').click(function () {
$(this).removeAttr('readonly');
})
Вместо disabled
вы можете использовать readonly
. С помощью некоторого дополнительного CSS вы можете стилизовать ввод так, чтобы он выглядел как поле disabled
.
На самом деле есть еще одна проблема. Событие change
запускается только тогда, когда элемент теряет фокус, что не является логическим с учетом поля disabled
. Возможно, вы вставляете данные в это поле из другого вызова. Для выполнения этой работы вы можете использовать событие «bind».
$('form').bind('change', 'input', function () {
console.log('Do your thing.');
});
Я нахожу другое решение:
<input type="text" class="disabled" name="test" value="test" />
Класс «отключен» immitate отключенный элемент по непрозрачности:
<style type="text/css">
input.disabled {
opacity: 0.5;
}
</style>
И затем отмените событие, если элемент отключен, и удалить класс :
$(document).on('click','input.disabled',function(event) {
event.preventDefault();
$(this).removeClass('disabled');
});
$(function() {
$("input:disabled").closest("div").click(function() {
$(this).find("input:disabled").attr("disabled", false).focus();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div>
<input type="text" disabled />
</div>
Я бы предложил альтернативу - используйте CSS:
input.disabled {
user-select : none;
-moz-user-select : none;
-webkit-user-select : none;
color: gray;
cursor: pointer;
}
вместо отключенного атрибута. Затем вы можете добавить свои собственные атрибуты CSS для имитации отключенного ввода, но с большим контролем.
ИЛИ сделайте это с помощью jQuery и CSS!
$('input.disabled').attr('ignore','true').css({
'pointer-events':'none',
'color': 'gray'
});
Таким образом, вы отключите элемент, и никакие события указателя не будут срабатывать, но он позволяет распространять, и если они отправлены, вы можете использовать атрибут «игнорировать» ', чтобы игнорировать его.
disabled
без значения, это подразумевает HTML, а не XHTML, и в этом случае закрывающая косая черта не нужна. – Tim Down 23 June 2010 в 10:56mouseenter
и т. Д.), – Augustin Riedinger 8 July 2015 в 13:03input[disabled] {pointer-events:none}
в ваш CSS. Затем щелчок ведет себя так, как если бы вы нажали на родительский элемент. IMHO это самое простое, чистое решение, но, к сожалению, оно работает только для браузеров, которые поддерживают свойство CSSpointer-events
: caniuse.com/#search=pointer-events – Doin 17 August 2015 в 20:30