0

JavaScriptとCodeigniterは初めてです。JavaScriptの確認(はい/いいえ)をCodeigniterControllerに渡す方法を知りたいです。

たとえば、私はリンクを持っています

Update all records。(これをリンクする方法は?)。

ユーザーがクリックすると、というポップアップメッセージが表示されますAre you sure?。はいの場合はコントローラー/モデルに渡され、いいえの場合は同じページに残ります。

または誰かが私に他のアプローチを教えることができますか?

4

4 に答える 4

1

これは私が見つけることができる最も簡単な解決策です。 http://jsbin.com/ecimiw/1/editでライブデモを見ることができます

私は物事を単純化するためにjQueryを使用します:)

一般に。preventDefault()ブラウザがすぐにページを変更するのを防ぐために使用します。その後、confirmボックスを表示します。ユーザーがクリックした場合(同意した場合)、ブラウザをクリックした要素yesの URL に変更します。hrefa

ここで最も重要なことは、jQuery と、確認が必要なすべてのリンクのクラス名です (このデモでは を使用していますneed-confirm)。

于 2013-01-19T14:42:41.820 に答える
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 に答える
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('よろしいですか?');"> ここをクリック

正常に動作し、コントローラー/関数に移動して更新を行います

みんな、ありがとう

于 2013-01-20T05:54:09.100 に答える