#javascript #jquery
#javascript #jquery
Вопрос:
Я пытаюсь вставить некоторый скрипт jQuery на веб-сайт, на котором есть поиск по ключевым словам. Например, когда я вставляю приведенный ниже код в amazon.com для того, чтобы задать ключевое слово и отправить нажатие клавиши enter с помощью jQuery, форма не отправляется. Что мешает отправке формы? Чем отличается фактическое нажатие клавиши enter на моей клавиатуре?
var $searchbox = $('#twotabsearchtextbox');// this is search box element
$searchbox.keypress(function(event){
if ((event.keyCode) == 13) {
alert('keypress triggered');
}
});
$searchbox.val('test keyword');
var e = $.Event('keypress', {which: 13, keyCode: 13, charCode: 13});
$searchbox.trigger(e);
Комментарии:
1. это нормально, это вопрос безопасности
2. Спасибо. Итак, по соображениям безопасности, даже если текстовое поле получило событие нажатия клавиши enter, оно не отправит форму переноса? Если я напрямую манипулирую формой переноса, форма отправляется.
3. Принцип безопасности заключается в том, что только человек (а не машина) может добровольно отправлять любую информацию (введенную им самим) на сервер.
Ответ №1:
Я надеюсь, что это может вам помочь.
var $searchbox = $('#twotabsearchtextbox');// this is search box element
$searchbox.val('test keyword');
$searchbox.keypress(function(event){
if ((event.keyCode) == 13) {
alert('keypress triggered');
}
});
$("button").click(function(){
var e = $.Event('keypress', {which: 13, keyCode: 13, charCode: 13});
$searchbox.trigger(e);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="twotabsearchtextbox"/>
<button>Trigger the select event for the input field</button>
Комментарии:
1. Спасибо. Итак, событие нажатия клавиши запускается щелчком мыши (или другими действиями пользователя), оно отправит форму упаковки, но если нет, то она не будет отправлена по соображениям безопасности? Я также подтвердил, что это работает таким образом. jsfiddle.net/ctx0es1f
2. «если нет, то она не будет отправлена по соображениям безопасности?», мое мнение, это не причина безопасности.
3. Вы можете сослаться: ссылка