我想检查一些条件输入键。为此,我写了一些代码,但该代码也执行一些其他代码。我试过但没有找到问题发生的原因。就像我有文本字段,我正在使用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();
});
});
}
此功能基本不变的标签。我只想检查输入的文本框,如果不是空的,则加载第二个选项卡。标签功能在其他条件下正常工作只会进入创建问题。希望任何人都明白我想说什么。在此先感谢
你必须'else'阻止对方。为什么? – 2014-10-11 12:37:36
@Javad_Amiry如果你看到它我的代码有两个条件一个用于entery按键事件和一个用于空textfield.both是不同的 – Adda 2014-10-11 16:02:47
你真的需要处理你的代码格式化;) – 2014-10-11 17:54:56