我不确定这是更多的CodeIgniter问题还是Javascript问题。
这是我的Javascript:
<script type="text/javascript">
function con(message) {
var answer = confirm(message);
if (answer) {
return true;
}
return false;
}
</script>
这是我的CI:
echo form_submit('submit', 'Login', 'onclick="return con("Are you sure you don\'t have a configuration to submit? Please check the checkbox if you do.")');
为什么我没有收到确认对话框? JS在我看来。 CI正确呈现提交按钮。
答案 0 :(得分:4)
你需要在JS中使用单引号:
// this double quote is causing issues with the onclick assignment.
onclick="return con("Are you sure you don\'t have a configuration to submit? Please check the checkbox if you do.")'
您甚至可以从SO
中看到颜色语法突出显示的问题我建议:
onclick="return con(\'Are you sure you don\\'t have a configuration to submit? Please check the checkbox if you do.\')"'
答案 1 :(得分:1)
此代码将进入无限循环,因为您将函数confirm
命名为内置JavaScript confirm
。
因此,在confirm
函数中,当它调用confirm
时,它将调用您的函数,而不是本机函数。
本机JavaScript confirm
函数返回true或false,因此不需要您的方法。
编辑:问题在于您调用form_submit。
变化:
'onclick="return con("Are you sure you don\'t have a configuration to submit? Please check the checkbox if you do.")'
要:
'onclick="return con(\'Are you sure you don\\\'t have a configuration to submit? Please check the checkbox if you do.\')"'
答案 2 :(得分:0)
你的代码不是进入无限循环吗?
你已经重新定义了confirm()
JS功能,而且你正在经常执行你。
答案 3 :(得分:0)
confirm是一个JavaScript函数,重命名您的函数