我已经做了一个与fancybox类似的实现。我有一个用户结帐,在单击结帐时,会出现一个带有问题提示的花式框。在显示提示之前,它会提交表单。这是我使用的代码的大纲:
我将表单提交按钮更改为链接:
<a id='various2' href='#submitform'>Submit</a>
将fancybox绑定到链接并添加一个oncomplete以在fancybox打开后立即处理表单:
$(document).ready(function() {
$("#various2").fancybox({
'cache' : false,
'hideOnOverlayClick' : false,
'showCloseButton' : false,
'autoDimensions' : false,
'width' : 650,
'titlePosition' : 'inside',
'transitionIn' : 'fade',
'transitionOut' : 'fade',
'scrolling' : 'no',
'onComplete' : function(){
processform();
}
});
});
有一个 javascript 函数来使用 ajax 处理表单,然后显示您的登录/创建帐户信息。如果是我,我会进行另一个 ajax 调用以显示您的登录/注册,但我已将那部分代码留了下来,但用注释表示,您可以在其中调用它:
function processform(){
var idcardnumber1 = jQuery("#field1").val();
var idcardnumber2 = jQuery("#field2").val();
$.ajax({
cache : false,
type: "POST",
url: "processform.php",
data: "field1="+field1+"&field2="+field2,
dataType: "json",
success: function(data){
if(data.valid == 1){
// Display Your Login Signup Form
}
else{
// Close Fancybox since the form did not submit
$.fancybox.close();
}
}
});
}