gpt4 book ai didi

javascript - 使用 jquery $.ajax 提交表单 - 只有第一个提交

转载 作者:行者123 更新时间:2023-11-30 07:27:05 25 4
gpt4 key购买 nike

我在提交 AJAX 表单时遇到问题 - 使用 this tutorial .

我的表单在 div#upform 中,当我尝试通过 $.ajax 提交其中任何一个时,它只提交第一个,这是代码:

$(function() {  
$(".button").click(function() {
var txt = $(".tekst#test").val();
var dataString = 'tekst='+ tekscior;

$.ajax({
type: "POST",
url: "upload/base",
data: dataString,
success: function() {
$('#upform').html("<div id='message'></div>");
$('#message').html("<h2>described!</h2>")
.append("<p>thanks!</p>")
.hide()
.fadeIn(1500, function() {
$('#message').append("<img id='checkmark' src='http://artivia-dev2/i/check.png' />");
});
}
});
return false;
});
});

这是我的表格:

<!-- ONLY THIS ONE IS SUBMITTED, EVEN WHEN I'M SUBMITTING THE SECOND ONE! -->
<div class="slidingDiv">
<div id="upform">
<form name="contact" action="">
<input type="text" value="TESTFORM" class="tekst" id="test">
<input type="submit" name="submit" class="button" id="submit" value="Send" />
<form>
</div>

<div class="slidingDiv">
<div id="upform">
<form name="contact" action="">
<input type="text" value="TESTFORM" class="tekst" id="test">
<input type="submit" name="submit" class="button" id="submit" value="Send" />
<form>
</div>

@@更新

问题,当我提交一个表单时 - 这很好 - 但在提交这个表单之后我想提交第二个 - 数据已正确提交,但成功消息在两种表单中都刷新,这就是修复,我'我尝试使用,但它不起作用:

    $.ajax({  
type: "POST",
url: "upload/base",
data: dataString,
success: function() {

upform.html("<div class='message'></div>");

var mess = $(this).closest('.message');

mess.html("<h2>Described</h2>")
.append("<p>Thanks!</p>")
.hide()
.fadeIn(1500, function() {
mess.append("<img id='checkmark' src='http://ar-dev2/i/check.png' />");
});


}
});

最佳答案

首先,你不应该对多个元素使用相同的id。您可以使用 classnamedata 属性代替它。

$(".button").click(function() {  

var upform = $(this).closest('.upform'); // keep reference of upform

var txt = $(this).prev(".tekst").val(); // this will retrieve the value of input
// nearest to the button

var dataString = 'tekst='+ tekscior;

......

$.ajax({
type: "POST",
url: "upload/base",
data: dataString,
success: function() {
upform.html();
.....
}
});
});

var txt = $(".tekst#test"); 选择器的问题:

它已经从顶部开始搜索,当它找到匹配时它停止旅程并返回值,你总是得到第一个的值。如果你使用

var txt = $(".tekst");没有id,你会遇到同样的问题。

关于javascript - 使用 jquery $.ajax 提交表单 - 只有第一个提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10754057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com