Javascript 错误消息为';不要在好地方展示
我现在花了几个小时调试jQuery错误函数(也成功了)。 我不明白我怎么能只在我点击的按钮下方显示错误消息。 为了帮助你理解我的问题,我做了一个 以下是HTLM部分:Javascript 错误消息为';不要在好地方展示,javascript,jquery,Javascript,Jquery,我现在花了几个小时调试jQuery错误函数(也成功了)。 我不明白我怎么能只在我点击的按钮下方显示错误消息。 为了帮助你理解我的问题,我做了一个 以下是HTLM部分: <div class="leblock"> <strong>Title</strong> some text<br /> <form id="panier_1" method="post" action=""> <i
<div class="leblock">
<strong>Title</strong> some text<br />
<form id="panier_1" method="post" action="">
<input type="submit" value="0130280001" />
<div id="txtHint_1"><b>data will spawn below</b></div>
<div> <span id="error_1" style="display:none; color:#F00">DIV 1 NOT OK</span>
<span id="success_1" style="display:none; color:#0C0">OK</span></div>
</form>
</div>
<br /><br /><br />
<div class="leblock">
<strong>Title</strong> some text<br />
<form id="panier_2" method="post" action="">
<input type="submit" value="0130280002" />
<div id="txtHint_2"><b>data will spawn below</b></div>
<div> <span id="error_2" style="display:none; color:#F00">DIV 2 NOT OK</span>
<span id="success_2" style="display:none; color:#0C0">OK</span></div>
</form>
</div>
任何建议都将受到极大的欢迎我会在“error”的错误范围中添加一个类,并可能将样式移动到类中,如下所示:
<style>
.error {display:none; color:#F00}
</style>
<span id="error_1" class="error">DIV 1 NOT OK</span>
error:function(data){
$(this).siblings(".error").show().fadeOut(2000); //===Show Error Message====
}
可以通过隐藏id为“txtHint_979;”的div来解决这个问题,或者您甚至可以更改id为“txtHint_979;”的这个div的内部HTML
我希望这会有所帮助。您遇到的问题之一是,您没有对表单提交处理程序中按下的按钮的引用。一种解决方案是将单击处理程序附加到提交按钮,以跟踪上次按下的提交按钮,并将其用作参考点,以查找适当的错误消息位置 我在这里更新了你的小提琴:
error:function(data){
$(this).siblings(".error").show().fadeOut(2000); //===Show Error Message====
}
$(document).ready(function(){
var submitButtonPressed = null;
$('input[type=submit]').click(function() {
submitButtonPressed = this;
});
$('[id^="panier_"]').on('submit',function(e) {
console.log(e);
var $this = $(this);
$.ajax({
url:'panier.php',
data:$this.serialize(),
type:'POST',
success:function(data){
if (submitButtonPressed) {
$(submitButtonPressed).closest('form').find('[id^="success_"]').show().fadeOut(2000);
}
},
error:function(data){
if (submitButtonPressed) {
$(submitButtonPressed).closest('form').find("span:first-child").show().fadeOut(2000); //===Show Error Message====
}
}
});
e.preventDefault();
});
});