2017-06-04 39 views
0

我试图在单击邮件选项卡中的发送邮件按钮之后在“收件人:”只读框中显示虚拟邮件,如下所示。 mailtab 但发生了什么事情而不是显示消息,它会打开“FAQ”选项卡。你能建议我怎样才能在输入框顶部显示一条消息,而不必去FAQ选项卡。谢谢。为什么提交按钮通向其他选项卡?

这里是codepen

$("#frmDemo").submit(function(e) { 
    e.preventDefault(); 
    var name = $("#name").val(); 
    var comment = $("#comment").val(); 
    if(name == "" || comment == "") { 
    $("#error_message").show().html("All Fields are Required"); 
    } else { 
$("#error_message").html("").hide(); 
$.ajax({ 
    type: "POST", 
    url: "post-form.php", 
    data: "name="+name+"&comment="+comment, 
    success: function(data){ 
    $('#success_message').fadeIn().html(data); 
    setTimeout(function() { 
     $('#success_message').fadeOut("slow"); 
    }, 2000); 

    } 
}); 
} 
}); 
+0

能否请你检查一下按键的href? – Abhishek

+0

[白痴主意]尝试在最后“返回false”来阻止任何传播可能是一种解决方案? – pirs

+0

[白痴的想法]你应该'.focus()'在错误的领域,以确保 – pirs

回答

-1

我认为该按钮链接到常见问题选项卡。可能是该按钮的数据切换amd href属性设置为FAQs ID。

此外,请检查常见问题选项卡中是否存在某些验证,因为可能是您对所有选项卡使用了单一表单。

能否请你分享网页

+0

它不是:''... – pirs

+0

我确定我没有给予FAQ的href属性。这是codepen https://codepen.io/HebleV/pen/vZYvGb – HebleV

0

尝试这样的HTML:

$("form#frmDemo").submit(function(e) { 

    let t = $(this); 
    let name = t.find("#name").val(); 
    let comment = t.find("#comment").val(); 
    let errorMsg = t.find("#error_message"); 
    let successMsg = t.find("#success_message"); 

    if(name == "" || comment == "") { 

    errorMsg.html("All Fields are Required").show(); 

    } else { 

    errorMsg.html("").hide(); 

    $.ajax({ 
     type: "POST", 
     url: "post-form.php", 
     data: "name="+name+"&comment="+comment, 
     success: function(data){ 
     successMsg.fadeIn().html(data); 
     setTimeout(function() { 
      successMsg.fadeOut("slow"); 
     }, 2000); 

     } 
    }); 

    } 

    e.preventDefault(); 
}); 
+0

它没有工作。只需点击一个按钮即可显示虚拟消息? – HebleV

+0

编辑:我读了页面的状态改变与阿贾克斯的标签,并preventDefault应该在脚本的末尾,试试看plz – pirs

+0

@HebleV你看到编辑? – pirs

相关问题