我是 JavaScript 和 Codeigniter 的新手。我想知道如何将 JavaScript 确认(是/否)传递给 Codeigniter 控制器。
例如我有一个链接
Update all records
. (如何链接这个?)。
一旦用户单击它,就会弹出一条消息,上面写着Are you sure?
。如果是,那么它将被传递给控制器/模型并进行更新,如果不是,它将保持在同一页面上。
或者有人可以教我其他方法吗?
我是 JavaScript 和 Codeigniter 的新手。我想知道如何将 JavaScript 确认(是/否)传递给 Codeigniter 控制器。
例如我有一个链接
Update all records
. (如何链接这个?)。
一旦用户单击它,就会弹出一条消息,上面写着Are you sure?
。如果是,那么它将被传递给控制器/模型并进行更新,如果不是,它将保持在同一页面上。
或者有人可以教我其他方法吗?
你用什么?单选按钮?如果是,只需在单选按钮标签上方添加表单标签。
这是示例
<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.
*/
这是我能找到的最简单的解决方案,您可以在http://jsbin.com/ecimiw/1/edit看到现场演示
我使用 jQuery 来简化事情:)
一般来说。我preventDefault()
用来防止浏览器立即更改页面。之后,显示一个confirm
框。如果用户单击yes
(同意),则将 broser 更改为href
单击a
元素中的 url。
这里最重要的是 jQuery 和一个你需要确认的所有链接的类名(在这个演示中,我使用need-confirm
)。
您可以使用如下链接提交表单:
<a href="javascript:{}" onclick="formanName.submit();"> linktext </a>
要在发送前要求确认,您可以尝试:
<a href="javascript:{}" onclick="if(confirm('Message?')) { formName.submit();}"> linktext </a>
formName
您要提交的表单的名称在哪里。我希望这会有所帮助。
非常感谢您为回答我的问题所做的所有努力,我从您那里得到了一个想法。这是我的解决方案。
我的链接是
id="my_link" href="controller/function" onclick="return Confirm('Are you sure?');"> 点击这里
它工作正常它进入控制器/功能并进行更新
感谢大家