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

привет, на моей веб-странице я сохраняю содержимое текстовой области при нажатии кнопки ввода. он сохраняется, но происходит то, что курсор мыши перемещается на следующую строку. он всегда сохраняется с символом новой строки. я просто хочу избежать перехода курсора мыши на следующую строку и просто сохранить его. для его сохранения я использую тип event.keycode для текстовой области, а затем сохраняю его.

$('.text_desc_cls').keyup(function(event){save_text_val(event,this.id);});

function save_text_val(event,this_id){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
    req_id = '#'+this_id;
    textarea_val = $(req_id).val();
    $.post("./funcs.php?func=save_int_text_val",{textarea_val:textarea_val},function(data){
        alert('done');
    }
}}

person rajprashanth r    schedule 14.05.2011    source источник


Ответы (1)


Самым простым решением было бы получить значение при нажатии клавиши - это даст вам значение без последней записи. Он покажет новую строку в текстовой области, поэтому, если вам нужно ее удалить, вы можете переключиться на keyup, а не на keydown и выполнить замену следующим образом:

$(req_id).val($(req_id).val().replace(/\n/,''));

person Jack Lawson    schedule 14.05.2011
comment
большое спасибо джек. оба работают хорошо. по вашему что лучше? - person rajprashanth r; 14.05.2011
comment
Это зависит от того, что происходит со страницей после этого. Если вы очистите форму после отправки, первая подойдет. Однако, если текст остается в текстовой области после публикации, вам следует заменить новую строку, чтобы пользователь мог видеть, что новая строка не была введена. - person Jack Lawson; 14.05.2011