質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1462閲覧

ajaxでチェックボックスの却下機能を実装させたい

amaguri

総合スコア227

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2017/08/23 09:11

編集2017/08/23 09:12

やりたいこと
チャックボックスの却下作業をajaxで行いたい。

現在
ajaxだはなく同期通信にて「public function action_dismissal()」を動作させた場合はしっかり動作したのですが、ajaxにて動作させようとしたらうまくいきません。

html

1<section> 2 3 4 <?php echo Form::open(array("action" => "","method"=>"get", "id" => "form1"))?> 5 <?php foreach ($piys as $key => $value):?> 6 <dl class="thumbnail clearfix"> 7 <div> 8 <div calss="media__summary"> 9 <dd>承認ステータス:<?php echo $value->getIsPiyStr()?> 10 <?php if (($value->approval_flag == "H")):?> 11 <?php echo Form::checkbox("check[]",$key,in_array($key,$check),array('class' => 'list'))?> 12 <?php endif?> 13 </dd> 14 <dd>投稿日:<?php echo date("Y年m月d日",strtotime($value->created_at)) ?></dd> 15 <dd>カテゴリ:<?php echo $value->is_category_str()?></dd> 16 <dd>コメント:<?php echo $value->body?></dd> 17 </div> 18 </div> 19 </dl> 20 <?php endforeach ?> 21 <table class="asf before-header"> 22 <tr> 23 <td> 24 <div class="asf view"> 25 <p class="approval"> 26 <br>投稿取り下げ<br /> 27 <input type="checkbox" id="all" />全件選択<br /> 28 <?php echo Form::submit("form_submit","却下",array("onclick" => "return do_dismissal()")) ?> 29 </p> 30 </div> 31 </td> 32 </tr> 33 </table> 34 <?php echo Form::close()?>

javascript

1 function do_dismissal() 2 { 3 if(confirm("投稿を却下します。よろしいですか?")) 4 { 5 //$("#form1").attr("action","/mypage/memories/dismissal") 6 //return true; 7 8 $.ajax({ 9 url: "/mypage/memories/dismissal", 10 type: 'POST', 11 dataType: 'text', 12 data: formData, 13 cache: false, 14 contentType: false, 15 processData: false, 16 success: function(data, status, xhr) { 17 console.log("disabled"); 18 }, 19 error: function(xhr, textStatus, errorThrown) { 20 console.log("disabled"); 21 } 22 }); 23 return false; 24 } 25 return false; 26 }
public function action_dismissal() { if(!empty($_GET["check"])){ $ids = $_GET["check"]; $orm = Model_MemoriesPost::query(); $orm->where_open(); $i = 0; foreach ($ids as $id){ if ($i == 0){ $orm->where("id","=",$id); } else { $orm->or_where("id","=",$id); } $i++; } $orm->where_close(); $piys = $orm->get(); foreach ($piys as $piy) { if ($piy instanceof Model_MemoriesPost) { $piy->approval_flag = "X"; $piy->save(); } } } exit; }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

js

1 $("#form").submit(function(){ 2 //選択されたチェックボックスの値を配列に保存 3 var checks=[]; 4 $("[name='check[]']:checked").each(function(){ 5 checks.push(this.value); 6 }); 7 8 //セレクトボックスの値を変数に保存 9 var select = $("#select").val(); 10 11 $.ajax({ 12 type: "POST", 13 url: "/mypage/memories/dismissal", 14 data: { 15 "checks":checks, 16 "select":select 17 }, 18 success: function(data){ 19 if(data != '') { 20 alert(data); 21 location.reload(); 22 } 23 } 24 }); 25 return false; //submitイベントハンドラにfalseを返し,action処理をキャンセル 26 }); 27 28

php

1 if (isset($_POST['checks'])) { 2 echo "投稿ID\n"; 3 $orm = Model_MemoriesPost::query(); 4 $orm->where_open(); 5 $i = 0; 6 foreach($_POST['checks'] as $check) { 7 if ($i == 0){ 8 $orm->where("id","=",$check); 9 } 10 { 11 $orm->or_where("id","=",$check); 12 } 13 $i++; 14 echo htmlspecialchars($check) . "を却下しました\n"; 15 } 16 17 $orm->where_close(); 18 $piys = $orm->get(); 19 foreach ($piys as $piy) { 20 if ($piy instanceof Model_MemoriesPost) { 21 $piy->approval_flag = "X"; 22 $piy->save(); 23 } 24 } 25 } 26

投稿2017/08/23 09:38

amaguri

総合スコア227

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問