由于wap对iframe的支持不是很好,因此无法通过iframe实现页面无刷新的提交及返回信息提示和想相关的操作。
可以通过jquery将from表单的提交操作转换成ajax,由ajax来实现form的提交及返回信息提示和想相关的操作,如下所示:
<form method="post" action="http://chengzhuo.wang/" οnsubmit="return post2ajax(this);">
</form>
function form2json(target_form) {
var json_form = '';
$(target_form).find('input,select').each(function () {
if ($(this).attr('name')) {
json_form += ',' + $(this).attr('name') + ':"' + $(this).val()+'"';
}
});
return eval('({' + json_form.substring(1) + '})');
}
function form2string(target_form) {
var json_form = '';
$(target_form).find('input,select').each(function () {
if ($(this).attr('name')) {
json_form += '&' + $(this).attr('name') + '=' + $(this).val();
}
});
return json_form;
}
function post2ajax(target_form) {
if ($(target_form).attr('action') == 'get') {
$.get($(target_form).attr('action') + form2string(target_form), function (data) {
var json_data = eval('(' + data + ')');
});
} else {
$.post($(target_form).attr('action'), form2json(target_form), function (data) {
var json_data = eval('(' + data + ')');
});
}
return false;
}