Я пытаюсь проверить некоторые условия на клавише ввода. Для этой цели я написал код, но этот код выполняет и другие коды. Я попытался, но не нашел, почему проблема возникает. Как и у меня есть текстовое поле, и я загружаю данные на это с помощью поиска символа ajax, и теперь я пытаюсь добавить новое условие: если нажать клавишу ввода, проверьте поле и выполните некоторую работу. Но он проверяет и отправляет форму без нажатия кнопки отправки. Я смущен, почему это происходит. Ниже мой код:Js создает проблему при вводе ключевого события
jQuery(function(){
jQuery("#name").keyup(function(event)
{
// this is code to check whether enter key is pressed or not
if(event.keyCode == 13){
if(jQuery('#name').val()==''){
alert("Please select Product name First.")
jQuery('#name').focus();
jQuery('#name').css('border','1px solid red');
}else{
// jQuery('#checkpname').click();
changetab('step2'); // I want to stop code after this
}
// this is code to check whether enter key is pressed or not
}else{
var searchid = jQuery(this).val();
var dataString = 'search='+ searchid;
if(searchid!='')
{
jQuery.ajax({
type: "POST",
url: '<?php echo Mage::helper('core/url')->getHomeUrl();?>pmembers/packages/searchproducts/key/e0603b30a8d5802f6df3jhyd87f31ddb/',
data: dataString,
cache: false,
success: function(html) {
jQuery("#result").html(html).show();
}
});
}
}
});
//jQuery('body').on('click', '#result',function(e){
jQuery("#result").live("click",function(e){
var $clicked = jQuery(e.target);
// var $name = $clicked.find('.name').html();
//var decoded = jQuery("<div>").html($name).text();
jQuery('#name').val(jQuery(e.target).text());
});
jQuery(document).on("click", function(e) {
var $clicked = jQuery(e.target);
if (! $clicked.hasClass("search")){
jQuery("#result").fadeOut();
}
});
jQuery('#name').click(function(){
jQuery("#result").fadeIn();
});
});
Это функция changetab:
function changetab(hrf){
jQuery('a.btn').each(function() {
jQuery(this).click(function() {
//var thisid = $('#sell .tab-pane.active').attr('id');
jQuery('.wizard a[data-toggle="tab"]').removeClass('current');
jQuery('.wizard a[href="#'+hrf+'"]').click();
});
});
}
Эта функция в основном изменить вкладки. Я только хочу проверить текстовое поле с enter, если не пусто, а затем загрузить вторую вкладку. функция вкладки отлично работает в других условиях, только введите создающую проблему. Надеюсь, кто-нибудь поймет, что я пытаюсь сказать. Заранее спасибо
Вы должны блокировать 'else' следующие друг за другом. Зачем? –
@Javad_Amiry, если вы видите его в моем коде, есть два условия: один для события нажатия клавиши ввода и один для пустого текстового поля. Оба разные – Adda
Вам действительно нужно работать с форматированием кода;) –