0

我是 JavaScript 和 Codeigniter 的新手。我想知道如何将 JavaScript 确认(是/否)传递给 Codeigniter 控制器。

例如我有一个链接

Update all records. (如何链接这个?)。

一旦用户单击它,就会弹出一条消息,上面写着Are you sure?。如果是,那么它将被传递给控制器​​/模型并进行更新,如果不是,它将保持在同一页面上。

或者有人可以教我其他方法吗?

4

4 回答 4

1

你用什么?单选按钮?如果是,只需在单选按钮标签上方添加表单标签。

这是示例

<form name = "yesno" action = "<?php site_url('check/yesorno') ?>" method = "post">
    <input type = "radio" name = "yesorno" value = "yes" onclick = "this.form.submit()">Yes
    <br>
    <input type = "radio" name = "yesorno" value = "no" onclick = "this.form.submit">No
</form>

/*Note:
Form name = name of form
action = destionation url (site_url(yourController/yourFunction))
method = post/get
onclick = javascript event (will execute the code when user click)
this.form.submit() = javascript dom, means submit the your form when specified event executed*/

如果你想使用 ajax 的代码

//first->create the object
//for chrome, firefox, etc
if(window.XMLHttpRequest)
{
   xmlhttp = new XMLHttpRequest();
}
//fro ie, etc
else
{
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

    //to get response from php
xmlhttp.onreadystatechange = function()
{
    if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
    {
    //your code here
    }
}

    //open connection
    xmlhttp.open("GET","../project_php/login.php",true);
xmlhttp.send();

/*Note:
  GET -> method
  2nd paramater(../project_php/login.php) -> destination url
  3rd parameter -> true or false (use true!)

  on "your code here" comment, add your code if response from php successfully received.
*/
于 2013-01-19T10:50:47.143 回答
1

这是我能找到的最简单的解决方案,您可以在http://jsbin.com/ecimiw/1/edit看到现场演示

我使用 jQuery 来简化事情:)

一般来说。我preventDefault()用来防止浏览器立即更改页面。之后,显示一个confirm框。如果用户单击yes(同意),则将 broser 更改为href单击a元素中的 url。

这里最重要的是 jQuery 和一个你需要确认的所有链接的类名(在这个演示中,我使用need-confirm)。

于 2013-01-19T14:42:41.820 回答
0

您可以使用如下链接提交表单:

<a href="javascript:{}" onclick="formanName.submit();"> linktext </a>

要在发送前要求确认,您可以尝试:

<a href="javascript:{}" onclick="if(confirm('Message?')) { formName.submit();}"> linktext </a>

formName您要提交的表单的名称在哪里。我希望这会有所帮助。

于 2013-01-19T10:18:58.813 回答
0

非常感谢您为回答我的问题所做的所有努力,我从您那里得到了一个想法。这是我的解决方案。

我的链接是

id="my_link" href="controller/function" onclick="return Confirm('Are you sure?');"> 点击这里

它工作正常它进入控制器/功能并进行更新

感谢大家

于 2013-01-20T05:54:09.100 回答