我有onclick attr的链接提交我的表单。像这样:
<a href="javascript:void(0);" onclick="myFunc()">lorem ipsum</a>
function myFunc() {
$('.ajaxform').submit();
}
问题是..我正在使用ajax函数来执行非刷新提交..我还有另一个这样的脚本:
jQuery(document).ready(function(){
jQuery('.ajaxform').submit( function() {
$.ajax({
url : $(this).attr('action'),
type : $(this).attr('method'),
dataType: 'json',
data : $(this).serialize(),
success : function( data ) {
for(var id in data) {
jQuery('#' + id).html( data[id] );
}
}
});
return false;
});
});
如果我使用输入按钮类型提交ajax工作..但它使用onclick提交无效...我该如何解决?
感谢。
答案 0 :(得分:0)
如果您使用<a>
属性,则代替内联onclick
属性单独编写click
函数,然后使用event.preventDefault();
然后提交表单
<a id='someId' href="javascript:void(0);" onclick="myFunc()">Submit</a> //Give some id
$(function(){
$('#someId').click(function(){
event.preventDefault(); //This will prevent the default action of <a> attribute
$('.ajaxform').submit(function(){
//write the functionality here
});
});
});
答案 1 :(得分:0)
选项1 您可以将css添加到提交按钮,使其看起来像链接,并将其替换为您的链接。
选项2
的 HTML 强>
<form id="form1" method="POST" action="#" >
<input type="text" class="youwant" name="youwant" id="youwant" />
<a href="#" class="myform" id="myform">lorem ipsum</a>
</form>
<强>的JavaScript 强>
jQuery(document).ready(function(){
$('#myform').on("click", function(event) {
$.ajax({
url : $(this).attr('action'),
type : $(this).attr('method'),
dataType: 'json',
data : $(this).serialize(),
success : function( data ) {
for(var id in data) {
jQuery('#' + id).html( data[id] );
}
}
});
return false;
});
});
我没有尝试过,但它可能对你有帮助,只要试一试,如果有帮助就做回复。
答案 2 :(得分:0)
public static Boolean isNumber(String item) {
String pattern = "^-?[0-9]\\d*(\\.\\d+)?$";
return item.matches(pattern);
}