Javascript确认和CodeIgniter

时间:2011-01-20 16:47:17

标签: javascript codeigniter

我不确定这是更多的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正确呈现提交按钮。

4 个答案:

答案 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函数,重命名您的函数