将值从JavaScript确认传递到Codeigniter Controller

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

例如我有一个链接</ p>

更新所有记录</ code>。

(如何链接?)。 </ p>

用户点击后,会弹出一条消息,提示您确定吗?</ code>。 如果是,那么它将被传递给控制器​​/模型并进行更新,如果没有它将保留在同一页面上。</ p>

或者有人可以教我其他方法吗?</ p>
</ DIV>

展开原文

原文

I am new to JavaScript and Codeigniter. I want to know how to pass the JavaScript confirmation (Yes/No) to Codeigniter Controller.

For Example I have a link

Update all records. (how to link this?).

Once the user click it, there's a pop-up message that says Are you sure?. If yes then it will be passed to controller/model and do the updates if no it will stay on the same page.

Or can somebody teach me other approach?

douji6199
douji6199 感谢Bobrovsky的编辑,非常感谢
7 年多之前 回复
dongyi7041
dongyi7041 我添加了一个简单的解决方案,你可以试试:)
7 年多之前 回复
dongtiannai0654
dongtiannai0654 我是javascript的新手,我不知道ajax
7 年多之前 回复
doupin1073
doupin1073 你可以用ajax:)
7 年多之前 回复

4个回答



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

以下是示例</ p>

 &lt; form name =“yesno”  action =“&lt;?php site_url('check / yesorno')?&gt;”  method =“post”&gt; 
&lt; input type =“radio”name =“yesorno”value =“yes”onclick =“this.form.submit()”&gt;是
&lt; br&gt;
&lt; ; input type =“radio”name =“yesorno”value =“no”onclick =“this.form.submit”&gt; No
&lt; / form&gt;

/ *注意:
表格名称=表格名称
action = destionation url(site_url(yourController / yourFunction))
method = post / get
onclick = javascript event(将在用户点击时执行代码)
this.form.submit()= javascript dom,表示提交表单 如果你想使用ajax </ p>

  // first-&gt; 为chrome,firefox等创建对象
// nif(window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
//来自等等
else
{
xmlhttp = new ActiveXObject(“Microsoft.XMLHTTP”);
}

//从php

xmlhttp.onreadystatechange = function()获取响应
{
if(xmlhttp.readyState == 4&amp;&amp; ; xmlhttp.status == 200)
{
//您的代码在这里
}
}

// o pen connection
xmlhttp.open(“GET”,“.. / project_php / login.php”,true);

xmlhttp.send();

/ *注意:
GET - &gt; method
2nd paramater(../ project_php / login.php) - &gt; 目标网址
第3个参数 - &gt; true或false(使用true!)

on“your code here”注释,如果成功收到来自php的响应,请添加代码。

  • / </ code> </ pre> </ div>

展开原文

原文

what do you use? radio button? if yes, just add form tags above the radio button tags.

Here is the example

<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*/

code if u want to use 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.
*/

dongyuhui0418
dongyuhui0418 嘿,我已经知道如何在没有ajax的情况下做到这一点;)。 工作流程为:当用户单击第一个链接时,弹出窗口打开,显示消息和链接。 当用户在弹出窗口中单击链接时,它会将用户重定向到您更新数据的控制器,从控制器,只需将用户重定向到目标。 那个怎么样? 它更简单吧?
7 年多之前 回复
dsms21398
dsms21398 是的,它非常陌生。 是否有可能在这种情况下不使用javascript或ajax。
7 年多之前 回复
doutao4480
doutao4480 我已经更新了我的答案。 不要担心你是否仍然不理解代码;)
7 年多之前 回复
dtbi27903
dtbi27903 你能给我一个类似这种情况的ajax示例代码吗?
7 年多之前 回复
duanlao6573
duanlao6573 啊,是的,我看下面你的代码。 看起来在用户点击链接并弹出窗口打开后,它会显示一条带链接的消息。 如果用户单击弹出窗口中的链接,则表示“是”。 我对吗? 如果是这种情况,最简单的方法是使用ajax。 我知道你是javascript的新手。 但我认为,尝试学习ajax并不像你想象的那么难。 实际上ajax是javascript:D的子
7 年多之前 回复
douyao3895
douyao3895 不,这只是链接,当用户点击链接时,它将显示弹出消息(确认消息javascript)如果是,更新将在控制器上工作
7 年多之前 回复



这是我能找到的最简单的解决方案,您可以在 http://jsbin.com/ecimiw/1/edit </ p>

我使用jQuery来简化事情:) </ p>

一般而言。 我使用 preventDefault()</ code>来阻止浏览器立即更改页面。 之后,显示 confirm </ code>框。 如果用户单击 yes </ code>(同意),则更加更加更改为单击的 a </ code>元素的 href </ code>中的url。 </ p>

这里最重要的是jQuery和你需要确认的所有链接的类名(在本演示中,我使用 need-confirm </ code>)。</ p >
</ div>

展开原文

原文

This is the most simple solution I can find, you can see a live demo at http://jsbin.com/ecimiw/1/edit

I use jQuery to simplize things :)

In general. I use preventDefault() to prevent the browser change the page immediately. After that, display a confirm box. If user click yes (agreed) then make the broser change to the url in the href of the clicked a element.

The most important things here is jQuery and a class name for all link you need confirmation (in this demo, I uses need-confirm).

douguo7431
douguo7431 您将链接放在a元素的href中。
7 年多之前 回复
doutuo2829
doutuo2829 $(document).ready(function(){$('a.need-confirm')。click(function(ev){ev.preventDefault(); if(confirm(“把你的问题放在这里!”)){document .location = $(this).attr(“href”);}});}); 我该如何将链接发送到我的控制器
7 年多之前 回复



您可以使用以下链接提交表单:</ p>

 &lt; a  href =“javascript:{}”onclick =“formanName.submit();”&gt;  linktext&lt; / a&gt; 
</ code> </ pre>

在发送前要求确认,您可以尝试:</ p>

 &lt;  a href =“javascript:{}”onclick =“if(confirm('Message?')){formName.submit();}”&gt;  linktext&lt; / a&gt; 
</ code> </ pre>

其中 formName </ code>是您要提交的表单的名称。 我希望有所帮助。</ p>
</ div>

展开原文

原文

You can submit a form using a link like this:

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

to ask for confirmation before sending, you can try:

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

where formName is the name of the form you want to submit. I hope that helps.

dpjo15650
dpjo15650 这取决于你的控制器中的代码。 javascript部分非常简单,就像你现在一样。 只是一个确认弹出。 您需要处理的是控制器代码,我不是很熟悉,我没有使用过codeIgniter。 如果您不想使用它,则不需要AJAX。
7 年多之前 回复
doushi9474
doushi9474 它对我来说变得更加陌生。 在这种情况下是否可以不使用ajax或javascript?
7 年多之前 回复
douqinlu4217
douqinlu4217 然后它不是确认,这是你的/下注/默认/有问题。
7 年多之前 回复
duanlei4759
duanlei4759 <a id="my_link" href="bets/default/" onclick="return confirm('您确定要将当前默认值设置为所有未修改的内容吗?');“>更新默认值</a> - 但这是错误的,因为它只是去赌注/默认/它没有去控制器进行更新
7 年多之前 回复
douduan7295
douduan7295 那么你可以创建一个小表单来提交链接。 但这取决于你的代码。 很难说没有看到任何代码示例。
7 年多之前 回复
dongxie3681
dongxie3681 你能否详细说明表格名称,因为我没有表格名称。 这只是一个链接。
7 年多之前 回复



非常感谢您为回答我的问题付出的努力,我从您那里得到了一个想法。
这是我的解决方案。</ p>

我的链接是</ p>

id =“my_link”href =“controller / function”onclick =“return confirm('你确定吗?');” &GT; 点击这里</ p>

它可以正常运行到控制器/功能并进行更新</ p>

谢谢大家</ p>
</ div>

展开原文

原文

Thank you very much for all your effort for answering my question, I got an idea from you. Here is my solution.

my link is

id="my_link" href="controller/function" onclick="return confirm('Are you sure?');"> Click here

it works fine it goes to the controller/function and do the updates

thanks everyone

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐