好吧,基本上我的问题就是我在标题中所说的。我正在使用jquery选项卡,在我提交1个表单之后我又想添加另一个新闻帖而不是做ajax提交它只是发布到页面。
<script type="text/javascript">
//if submit button is clicked
$('#submit').live("click",function () {
//Get the data from all the fields
var title = $('input[name=title]').val();
var newspost = tinyMCE.get('newspost').getContent();
var type = $('input[name=type]').val();
//Simple validation to make sure user entered something
//If error found, add hightlight class to the text field
//organize the data properly
var data = 'title=' + title + '&post=' + newspost + '&id=' + type;
//start the ajax
$.ajax({
//this is the php file that processes the data and send mail
url: "pages/news.php",
//GET method is used
type: "POST",
//pass the data
data: data,
//Do not cache the page
cache: false,
//success
success: function() {
$('#news_form').html("<div id='message'></div>");
$('#message').html("<h2>News Article has been Submitted!</h2>")
.append("<p>Now visable on main page</p>")
.hide()
.fadeIn(1500, function() {
$('#message').append("<img id='checkmark' src='images/check.png' />");
});
}
});
//cancel the submit button default behaviours
return false;
});
</script>
<div id="news_form">
<form id="form1" name="form1" method="post" action="">
<p>Title:
<label>
<input name="title" type="text" id="title" size="40" />
</label>
</p>
<p>
<label>
<textarea name="newspost" id="newspost" cols="45" rows="5"></textarea>
</label>
</p>
<p><input type="hidden" name="type" value="postadd" />
<label>
<input type="submit" value="Submit" id="submit">
</label>
</p>
</form>
</div>
答案 0 :(得分:1)
返回false不会阻止默认操作;请尝试event.preventDefault。
答案 1 :(得分:1)
您是否尝试过在表单上监听.submit()事件?
另外,请确保页面上没有重复的ID。
答案 2 :(得分:0)
为完整起见,您可以考虑以下事项:
event.preventDefault();
event.stopPropagation();
if ($.browser.msie) {
event.originalEvent.keyCode = 0;
event.originalEvent.cancelBubble = true;
event.originalEvent.returnValue = false;
}
虽然我有点夸张,因为我通常会鼓励功能检测,而不是浏览器嗅探(if ($.browser.msie) {...
)
另外,注意到你的第一行:
$('#submit').live("click",function () {
虽然它可能没有什么区别,但我看不出你需要live()。当然.click()应该足够吗?
答案 3 :(得分:0)
尝试将提交按钮更改为常规按钮。如果您使用AJAX处理它,则不需要默认的提交行为。
<input type="button" value="Submit" id="submit">
或者,如果你想保持原样,你应该在你的点击功能中输入false,而不是在AJAX成功函数中。
答案 4 :(得分:0)
我有一个tinyMCE安装了我的编辑器。一旦我将其删除,我就可以连续多次发布。