Почему плагин JQuery Growfield дает моей текстовой области значение по умолчанию "111 111"? - PullRequest
2 голосов
/ 17 декабря 2010

По умолчанию текстовое поле должно быть пустым.Но когда я

alert ($ ("# mytextarea"). Val ())

... значение равно:

111
111

Я использую плагин Jquery Growfield: http://plugins.jquery.com/project/Growfield

И я делаю это:

$("#id_comment_body").growfield({animate:0});

Ответы [ 2 ]

3 голосов
/ 17 декабря 2010

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

Чтобы правильно изменить размер текстовой области без мерцания или странного поведения пользователя, мы выполняем вычисления в фиктивной невидимой текстовой области. Текстовая область создается во время фокуса и удаляется впоследствии. Будьте осторожны, так как манекен содержит те же идентификатор и имя, что и исходный элемент, поэтому, когда вы делаете javascript, когда у пользователя есть фокус, не используйте элемент с классом growfieldDummy. Если вам нужно манипулировать текстовой областью поля роста, сделайте это, когда у пользователя не будет фокуса (пользователь нажимает на что-то, чтобы инициировать действие, чтобы сделать что-либо с текстовой областью, или во время $ (document) .ready.

Могу поспорить, что элемент, который вы получаете, когда делаете $('#mytextarea'), является клонированным! Попробуйте сделать то, что написано в этом документе:

alert($('#mytextarea:not(.growfieldDummy)').val());
1 голос
/ 22 августа 2012

Вы можете исправить эту ошибку, изменив 'jQuery Growfield Library 2'. В функции createDummy у вас есть:

var dummy = o.clone().addClass('growfieldDummy').attr('name', '').attr('tabindex', -9999)
                               .css({position: 'absolute', left: -9999, top: 0, height: '20px', resize: 'none'})
                               .insertBefore(o).show();

изменить на:

var dummy = o.clone().addClass('growfieldDummy').attr('name', '').attr('id', o.attr('id') + '-dummy')
                               .css({position: 'absolute', left: -9999, top: 0, height: '20px', resize: 'none'})
                               .insertBefore(o).show();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...