Javascript window.open如果jQuery函数成功
这段代码在我的footer.php文件中,我将其包含在页面中。如果数据等于passed,我想在我的check地址jQuery中运行这段代码。我也试着把这段代码放在同一页上,但仍然不起作用Javascript window.open如果jQuery函数成功,javascript,php,jquery,function,Javascript,Php,Jquery,Function,这段代码在我的footer.php文件中,我将其包含在页面中。如果数据等于passed,我想在我的check地址jQuery中运行这段代码。我也试着把这段代码放在同一页上,但仍然不起作用 <script src="//www.paypalobjects.com/api/checkout.js" async></script> <script type="text/javascript"> window.paypalCheckoutReady = funct
<script src="//www.paypalobjects.com/api/checkout.js" async></script>
<script type="text/javascript">
window.paypalCheckoutReady = function () {
paypal.checkout.setup('<?php echo($merchantID); ?>', {
button: 'placeOrderBtn',
environment: '<?php echo($env); ?>',
condition: function () {
return document.getElementById('paypal_payment_option').checked === true;
}
});
};
</script>
window.paypalCheckoutReady=函数(){
paypal.checkout.setup(“”{
按钮:“placeOrderBtn”,
环境:'',
条件:函数(){
return document.getElementById('paypal\u payment\u option')。选中===true;
}
});
};
这就是我想要插入paypalCheckoutReady函数的原因,如果(数据==”已传递);然后运行函数并打开一个窗口
<script>
function check_address(){
var data = {
'first_name' : jQuery('#first_name').val(),
'last_name' : jQuery('#last_name').val(),
'street' : jQuery('#street').val(),
'street2' : jQuery('#street2').val(),
'city' : jQuery('#city').val(),
'state' : jQuery('#state').val(),
'zip_code' : jQuery('#zip_code').val(),
'country' : jQuery('#country').val(),
'phone' : jQuery('#phone').val(),
'notetext' : jQuery('#notetext').val(),
};
jQuery.ajax({
url : '/proj/admin/parsers/check_address.php',
method : 'POST',
data : data,
success : function(data){
if(data != 'passed'){
jQuery('#payment-errors').html(data);
}
if(data == 'passed'){
jQuery('#payment-errors').html("");
/*I want to run the window.open code here*/
paypalCheckoutReady(); //I tried this but not working
}
},
error : function(){alert("Something Went Wrong");},
});
}
</script>
<?php
} else {
$resArray = CallShortcutExpressCheckout ($_POST, $returnURL, $cancelURL);
$ack = strtoupper($resArray["ACK"]);
if($ack=="SUCCESS" || $ack=="SUCCESSWITHWARNING") //if SetExpressCheckout API call is successful
{
RedirectToPayPal ( $resArray["TOKEN"] );
}
else
{
//Display a user friendly Error on the page using any of the following error information returned by PayPal
$ErrorCode = urldecode($resArray["L_ERRORCODE0"]);
$ErrorShortMsg = urldecode($resArray["L_SHORTMESSAGE0"]);
$ErrorLongMsg = urldecode($resArray["L_LONGMESSAGE0"]);
$ErrorSeverityCode = urldecode($resArray["L_SEVERITYCODE0"]);
echo "SetExpressCheckout API call failed. ";
echo "Detailed Error Message: " . $ErrorLongMsg;
echo "Short Error Message: " . $ErrorShortMsg;
echo "Error Code: " . $ErrorCode;
echo "Error Severity Code: " . $ErrorSeverityCode;
}
}
?>
<?php include 'includes/footer.php'; ?>
函数检查地址(){
风险值数据={
'first_name':jQuery('first_name').val(),
'last_name':jQuery('last_name').val(),
“street”:jQuery(“#street”).val(),
“street2”:jQuery(“#street2”).val(),
“城市”:jQuery(“#城市”).val(),
“state”:jQuery(“#state”).val(),
'zip_code':jQuery('zip_code').val(),
“国家”:jQuery(“#国家”).val(),
“phone”:jQuery(“#phone”).val(),
“notetext”:jQuery(“#notetext”).val(),
};
jQuery.ajax({
url:“/proj/admin/parsers/check_address.php”,
方法:“POST”,
数据:数据,
成功:功能(数据){
如果(数据!=“已通过”){
jQuery(“#支付错误”).html(数据);
}
如果(数据==‘已通过’){
jQuery(“#支付错误”).html(“”);
/*我想在这里运行window.open代码*/
paypalCheckoutReady();//我尝试了这个,但没有成功
}
},
错误:函数(){alert(“出错”);},
});
}
希望你能帮我解决这个问题。谢谢因为您想运行该函数?然后在那里调用它
...
if (data == 'passed') {
jQuery('#payment-errors').html("")
paypalCheckoutReady(); // you don't need to type window.
}
...
你可能有比赛条件 试着移动
<script src="//www.paypalobjects.com/api/checkout.js" async></script>
在你的剧本之后
如果PayPal的.js文件在本地缓存,它可能会在代码运行之前初始化,然后将永远不会调用
paypalCheckoutReady
函数。@Ericcoi什么不起作用?有什么错误吗?页面上是否包含jQuery?是的,我将其包含在文件中,没有错误,但不起作用。窗户打不开。我将编辑我的帖子并粘贴所有代码我编辑了我的帖子,希望你能更多地理解我的问题。对不起,我的英语不好,不是我的母语。不,不,这个方法是由贝宝的Javascript本身调用的,以表明它是完整的和准备好的。你不能自己叫它!