Как запустить событие html при вводе определённого количества символов
Дело в том, что это поле создаётся динамически, поэтому его id заранее неизвестно. Поэтому вариант if (z.value.length == 8) {... не пойдёт.
<input style="width: 100px" type="text" name="books[]" id="if1" onChange="fieldChange(this.value,this.id);" maxlength="8"/> function fieldChange(obj,numid) { var nid1 = '#span1_'+numid.substring(2,10); var nid2 = '#span2_'+numid.substring(2,10); var nid3 = '#span3_'+numid.substring(2,10); alert('Отработала функция получив значение > ' + obj + " <<>> " + nid1); }; |
Lobezki,
даже если ты создаёшь поле динамически, то совсем не обязательно знать его id, у тебя же есть сам объект элемента. |
Это понятно, но мне надо, что бы ajaxзапрос происходил сразу после ввода 8 символа, а если я ставлю onchange, то надо клацнуть еще раз, ч.б. запрос произошел. А без onchange я не знаю как сделать запрос из динамически созданного инпута к функции.
Так или иначе объект я получаю после лишнего клацания мышкой/клавиатурой. |
Lobezki,
Чот не пойму в чём проблема. Как ты создаёшь поле? Если сразу вставляешь html-блок кода, то пусть в нём сразу onchange будет прописан. А если динамически, то, как я уже сказал, у тебя уже есть объект элемента, вешай на него что хочешь. Зачем функцию вызываешь как fieldChange(this.value,this.id)? Не проще ли так fieldChange(this) а внутри уже получить доступ к нужным тебе id, value и прочим атрибутам. Цитата:
|
Safort,
возвращаясь к старой теме: http://javascript.ru/forum/misc/5005...vka-formy.html новое поле у меня создаётся при помощи: $(document).ready(function() { var AddField = $("#add_field"); var AddBook = $("#addBook"); var FClient = $("#newClient"); var f = 1; $(AddField).click(function() { f++; $('<tr>') .attr('id','tr_image_'+ f) //.css({lineHeight:'20px'}) .append ( $('<td style="text-align: center">') .css({paddingRight:'5px',width:'100px'}) .append( $('<span>Книга</span>') ) ) .append ( $('<td>') .attr('id','td_title_'+ f) .css({paddingRight:'5px'}) //.css({paddingRight:'5px',width:'300px'}) .append( $('<input type="text" onChange="fieldChange(this.value,this.id);" />') .css({width:'100px'}) .attr('id','if'+ f) .attr('name','books[]') ) ) .append ( $('<td>') .append( $('<p><span>Фамилия: <font style="color:green"><span id="span1_'+f+'"></span></font></span></p>') ) .append( $('<p><span>Имя: <font style="color:green"><span id="span2_'+f+'"></span></font></span></p>') ) .append( $('<p><span>Название: <font style="color:green"><span id="span3_'+f+'"></span></font></span></p>') ) ) .append( $('<td>') .css({width:'20px'}) .append( $('<span id="progress_'+ f +'" ><a href="#" onclick="$(\'#tr_image_'+ f +'\').remove();" class="ico_delete"><img src="img/false.png" alt="del" border="0"></a></span>') ) ) .appendTo('#table_container') }); }); |
Цитата:
Динамическое добавление полей работает, запросы в ajax работают, но к сожалению поле Читателя срабатывает, а поле книги нет( из-за привязки события onchange. |
Цитата:
От баттонов горит oninput вроде бы. |
Часовой пояс GMT +3, время: 02:06. |