gpt4 book ai didi

javascript 并使用 php 调节

转载 作者:行者123 更新时间:2023-11-28 08:35:43 26 4
gpt4 key购买 nike

第一个问题

我想使用变量 don_settings[don_btn_act] (=checkbox) 来定义按钮操作。

IF don_settings[don_btn_act] IS on
THEN -> load checkout
ELSE -> page reload

don_settings[don_btn_act] 已定义并且修改得很好,因此我可以打开或关闭它。问题是我应该在 javascript 中使用它。

到目前为止我所拥有的:

function reloadpage(){
<?php if(isset($don_config['don_btn_act']) && $don_config['don_btn_act'] =='on') { ?>
window.location.href = 'index.php?route=dcheckout/checkout';
<?php } else { ?>
window.location.reload();
<?php } ?>
}

它始终执行window.location.reload()函数。

第二个问题

以同样的方式,我有变量don_settings[min_amount]。我用它来定义最小输入量。
它像前面的变量一样在 php 中定义。但我也应该在 tpl 文件的 javascript 部分使用它。

到目前为止我所拥有的:

function validation(){
if(jQuery('#opton').val() == ''){
alert("<?php echo $drop_empty_msg; ?>");
return false;
}
else if(jQuery('#don_amount').val() == '' || jQuery('#don_amount').val() == '0'){
alert("<?php echo $amount_empty; ?>");
jQuery('#don_amount').focus();
return false;
}
else{
return true;
}
}

我用

|| jQuery('#don_amount').val() <= "<?php $don_settings[min_amount]; ?>"

而不是

|| jQuery('#don_amount').val() == '0'

但每次都返回 false

最佳答案

抱歉,我无法理解您的问题或意图。尝试更正您的拼写错误和语法,并请注意漂亮的格式化代码!

尽管如此,我对编写可维护的代码有一些建议。

你的问题(#1)

如果您的浏览器始终执行window.location.reload(),则问题与您的 JavaScript 无关。 这是您的服务器端代码失败。您的以下情况似乎是错误的:

<?php if(isset($don_config['don_btn_act']) && $don_config['don_btn_act'] =='on') { ?>

不要混合使用 javascript 和 php

首先,计算必要的值/条件:
(最好放入单独的文件中)

<?php
$condition = isset($don_config['don_btn_act']) && $don_config['don_btn_act'] =='on';
?>

现在,您可以非常舒适、清晰地使用它:

function reloadpage() {
var condition = '<?php echo $condition; ?>';

if (condition)
window.location.href = 'index.php?route=dcheckout/checkout';
else
window.location.reload();
}

有很多很大的优点可以避免弄乱你的代码。

还要小心...

...同时通过 php 将代码注入(inject)到标记/javascript 中。不要为潜在的攻击者提供新的安全漏洞!

关于javascript 并使用 php 调节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21236417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com