paw*_*wel 1 javascript ajax jquery
我在提交AJAX表单方面遇到了问题 - 使用本教程.
我的表单在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;
});
});
Run Code Online (Sandbox Code Playgroud)
这是我的表格:
<!-- 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>
Run Code Online (Sandbox Code Playgroud)
@@ UPDATE
问题,当我提交一个表单时 - 它很棒 - 但是在这个提交之后我想提交第二个 - 数据正确提交,但成功消息都以两种形式刷新,这就是修复,我已经试过了使用,但它不起作用:
$.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' />");
});
}
});
Run Code Online (Sandbox Code Playgroud)
首先,您不应该id对多个元素使用相同的元素.而不是你可以使用class或name或data属性.
$(".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();
.....
}
});
});
Run Code Online (Sandbox Code Playgroud)
var txt = $(".tekst#test");选择器问题:它已经从顶部开始搜索,当它找到匹配时它会停止旅程并返回值,你总是得到第一个值.如果你使用
var txt = $(".tekst");没有id,你将面临同样的问题.
| 归档时间: |
|
| 查看次数: |
451 次 |
| 最近记录: |