2014-01-31 4 views
0

Привет я не сделать этот сценарий, но его форма проводки, просто только HTML,Cant стрелки использовать внутри входа

Это HTML на входе

<input class="text_box" type="text" name="title" id="title" size="19" value="Title" onkeydown="SpecialReplace(this)" onkeyup="SpecialReplace(this)" onblur="SpecialReplace(this)" onclick="SpecialReplace(this)"/> 

И это SpecialReplace() функция

function SpecialReplace(o) 
{ 
     o.value=o.value.replace(/[^a-zA-Z0-9 áéíóúÁÉÍÓÚÜüñѨ´,.¿?%&$!¡ªº#"()-_\/]/g,''); 
} 

Я пытаюсь использовать стрелки, чтобы перейти к конкретному письму на «редактировать», но я не могу использовать стрелки на входе, почему ??

и как я могу это решить?

+0

Когда значение заменяется, курсор перемещается в конец. Я бы проверил нажатый ключ и заменил его, только если ключ не был стрелкой. –

ответ

1

Почему все эти встроенные обработчики, если вы используете jQuery?

Во всяком случае, вот как вы можете это сделать:

HTML

<input class="text_box" type="text" name="title" id="title" size="19" value="Title"> 

JS

$(function() { 
    //you have to escaped the - character in a character class 
    var cleanRx = /[^a-zA-Z0-9 áéíóúÁÉÍÓÚÜüñѨ´,.¿?%&$!¡ªº#"()\-_\/]/g; 

    $('#title').keyup(function (e) { 
     var which = e.which; 

     //avoid useless replacements when <- and -> keys are pressed 
     if (which === 39 || which === 37) return; 

     this.value = this.value.replace(cleanRx, ''); 

    }).trigger('keyup'); //perform replacement on initial content (remove if uneeded) 

}); 
+0

Я не писал это ... Мне просто нужно это исправить .. Потому что на самом деле работает, это просто проблема. –

+0

@MonchoChavez Ну, он должен работать так, как вы хотите, с тем, что я предоставил. – plalx

+0

Да, это так, вы знаете код «cmd + a», я использую это, чтобы выбрать все, но эта команда не работает ... Я думаю, что как 39 и 37 эта команда имеет значение, где я могу это проверить? –

Смежные вопросы