• 締切済み

削除ボタンの確認ダイアログを表示させると処理が進まない

いろいろ検索しましたが、回答が得られなかったため質問します。 削除ボタンを押した時、確認ダイアログを表示させ、 OKをクリックすると処理が進むようにしようと思っているのですが、 下記のコードだと、OKでもキャンセルでもonclickの処理に進まず困っています。 ■javascript function del_confirm(){ Ans = confirm("削除します"); if(Ans==true){ alert("削除しました"); return true; }else{ alert("キャンセルしました"); return false; } } ■body <input type="submit" value="チェックしたものを削除" onmouseup="return del_confirm()" onclick="action_delete.php"> 間違ったところなどあればご指摘お願い致します。 わからないことがあれば追記しますので、 よろしくお願い致します。

みんなの回答

  • wp_
  • ベストアンサー率54% (132/242)
回答No.1

<input type="submit" value="チェックしたものを削除" onmouseup="return del_confirm()" onclick="action_delete.php"> onclickがおかしいです。 action_delete.phpに送信したいのであれば <form action="action_delete.php"> <input type="submit" value="go" onclick="return del_confirm()" /> (snip) </form> とすべきでしょう。 イベントハンドラにphpを指定したところでブラウザはそれを解釈してくれません。

yuki_tgs
質問者

補足

回答ありがとうございます。 すみません、コードの記載ミス&忘れでした・・・ submitのactionでの指定先を変えたくて、 以下のfunctionもJavaScriptに作ってあります。 ■JavaScript(追加) function ActionChange(url){ document.form1.action = url; document.form1.submit(); } ■body(訂正) <input type="submit" value="チェックしたものを削除" onmouseup="return del_confirm()" onclick="javascript:ActionChange('./action_delete.php')"> 状況を正しく伝えず、申し訳ありませんでした。

関連するQ&A

  • 削除ボタンの確認ダイアログを表示させると処理が進まない

    いろいろ検索しましたが、回答が得られなかったため質問します。 削除ボタンを押した時、確認ダイアログを表示させ、 OKをクリックすると処理が進むようにしようと思っているのですが、 下記のコードだと、OKでもキャンセルでもonclickの処理に進まず困っています。 ■javascript function del_confirm(){ Ans = confirm(\"削除します\"); if(Ans==true){ alert(\"削除しました\"); return true; }else{ alert(\"キャンセルしました\"); return false; } } ■body <input type=\"submit\" value=\"チェックしたものを削除\" onmouseup=\"return del_confirm()\" onclick=\"action_delete.php\"> 間違ったところなどあればご指摘お願い致します。 わからないことがあれば追記しますので、 よろしくお願い致します。

  • 削除確認のアラートを出したい

    お疲れ様です。 お世話になっております。 過去ログでもいくつか出てることは承知の上で、質問させていただきます。 フォームの流れとしては、 チェックボックスで削除したい項目にチェック(仮に1番と7番をチェック) 削除ボタンを押す 下記のデータを削除します。よろしいですか? 1番 7番 OKを押すと削除 キャンセルを押すと戻る。 です。 POSTされた内容をアラート画面に表示させたいです。 JSはさっぱり手をつけたことがないので、POSTの受け取り方がわからないのですが、 過去ログを見ながら書いてみると、 <<JS>> func chk_del{ return window.confirm('これらの情報を削除します。よろしいですか? + POSTのデータ表示'); } <<html>> <form method="post" action="delete.php" onsubmit="return chk_del();"> <input type="checkbox" id=1>1番.... ....<input type="checkbox" id=7>7番 <input type="submit" value="削除" name="delete"> </form> これだと今のところまだconfirmが出ずにデリートされてしまうのですが、このような流れです。 恐れ入ります。どのように記述すればいいか教えていただけませんでしょうか。

  • 確認ダイアログ表示後、他のページにジャンプさせたい

    PHPと連携させたいのですが、削除ボタンをクリックしたときに、「本当に削除しますか?」というダイアログを表示後、OKボタンをクリックされたら削除の処理のページに移る、ということをしたいと考えています。 <html> <head> <SCRIPT language="JavaScript"> <!-- function Confirm(){ if (window.confirm("本当に削除してよろしいですか?")){ } } //--> </SCRIPT> </head> <body> <form action="del.php"> <input type="hidden" name="delkey" value="1"> <input type="submit" value="削除" onClick="Confirm();"> </form> </body> </html> と、ここまでわかったのですが、OKを押されたときの処理はどのように記述すればいいのでしょうか。 もちろん、delkeyの値もdel.phpに渡したいと考えています。 よろしくお願いします。

  • JavaScriptの確認ダイヤログについて

    JavaScriptの確認ダイヤログについての質問です。以下のコードにて、チェックボックスをチェックした値について、削除ボタンを押すと「本当に削除しますか?」というダイヤログが表示され、OKを押せば削除処理を行うServletに、キャンセルを押せば元の画面のまま、という流れにしています。以下がコードです。 function Delete(){ //チェックボックスにチェックがされているものには、変数statusに1を代入 for (i = 0; i < document.form_out.elements.length; i++){ if (document.form_out.elements[i].checked){ var status = 1; } } // チェックボックスがすべて未チェックの場合 if(!status){ alert("削除する行を選択してください"); return false; } var del = document.forms("form_out"); var judge = confirm('本当に削除しますか?'); //確認ダイアログに対してOKをクリックした場合 if(judge==true){ //削除処理を行うサーブレットにPost送信 del.action = 'MerchandiseSrv_Delete'; del.submit(); }/*(1)*/ } ダイヤログは表示されるのですが、キャンセルを選択した場合も何故かServletに飛んでしまいます。つまり削除処理が行われてしまいます。(1)の部分に、 }else{ アラート('キャンセルしましたよ'); } と記述すると、キャンセルをクリック→アラートが表示→削除処理へ、という意味不明な?流れになってしまっています。Servletは削除機能だけなので、恐らくはこのJavaScriptコードが間違っていると思うのですが。どなたか教えていただけないでしょうか?よろしくお願い致します。

  • 「本当に削除しますか」が正常に動作しない

    このスクリプトで「本当に削除しますか?」のダイアログでキャンセルを押してもYahoo!に飛んでしまうんですが、 どうすればいいでしょうか? <script language="JavaScript"> function kakunin(frm) { flag = confirm("本当に削除しますか?"); if (flag) { alert(flag); frm.submit(); } } </script> <form action="http://yahoo.co.jp/" method="get"> <input type="hidden" value="00001" name="num"> <input type="submit" value="削除" name="delete" onClick="return kakunin(this.form);return false;"> </form>

  • ボタン別のダイアログ表示について

    1つのcgiで、その都度押されるsubmitボタンにあわせてダイアログを表示させていです。 今、「更新」ボタンと「削除」ボタンがあり、 両方とも同じcgiでプログラム内で更新と削除を切り分けています。 <form method=post action="del_up.cgi"> <input class="button" name="update" type="submit" value="更新"> <input class="button" name="delete" type="submit" value="削除"> これに、 (1)更新を押した場合のダイアログ window.confirm("更新しますか?"); (2)削除を押したときのダイアログ window.confirm("削除しますか?"); のような感じで表示させたいのですが、可能でしょうか?

  • 確認ダイアログを表示出来ない

    jspファイルからJavaサーブレットへ削除対象情報を渡し、削除処理をしています。 submit処理の際、Javascriptでconfirmを利用して削除確認ダイアログを表示させたいのですが、表示が行われず、Javaサーブレットの処理が正しく実行されてしまいます。jspファイルをHTMLで表示させたところ、削除情報パラメータは見かけ上は正しく渡されているようです。以下のJavascriptの記述で問題となる部分が有るでしょうか? 削除対象確認画面nnnn.jspより呼び出されるjavascript check_nnnn.jsの記述は次の通りです。 taisyo_Noの値の先頭から8バイトにキー項目、9バイト目より確認情報をセットしています。 ************ function check_nnnn() { wkname = document.formnnnn.taisyo_No.value.substring(8); wkres = confirm("削除対象は次の通りです。" + "\n\n" + "対象:" + wkwname); if (!wkres){alert("確認画面に戻ります");return false;} } ******************** 尚、ブラウザはIE6.0を使用しております。

  • PHP初心者です。

    PHP初心者です。 JavaScriptで削除確認ポップアップした後のphp削除処理がうまくいかないです。 削除確認ポップアップで、キャンセルしても処理が通ってしまいます。 ▼ PHP処理 ▼ if($_POST['delete']){ /* PHP削除処理 */ } ▼ HTML ▼ <input type='submit' name='delete' value='削除' onClick="delete() "> <script type="text/javascript"> <!-- function delete(){ if(confirm('削除して良いですか?'){ } //--> どなたかアドバイスよろしくお願いいたします

    • ベストアンサー
    • PHP
  • 「キャンセル」ボタン付きの処理中ダイアログ

    Windowsアプリで、ある時間のかかる処理を キャンセルボタン付処理中ダイアログを表示し、途中で処理をキャンセル可能にしたいと考えています。 ここの過去ログから上記はマルチスレッドにする必要があると拝見しました。http://oshiete1.goo.ne.jp/kotaeru.php3?q=96951 <メイン画面の開始ボタン処理> ------------------ void C_SampleDlg::OnStart(){  CWinThread *cwt;  C_CancelDlg dlgCancel(this);  cwt = AfxBeginThread(Sample_Proc, &InputParams);  cwt->m_bAutoDelete = FALSE;  cwt->ResumeThread();  EnableWindow(FALSE);  dlgCancel.Create();  dlgCancel.ShowWindow(SW_SHOW);  while(TRUE){   if(dlgCancel.CheckCancel() == TRUE){    // キャンセルが押された時    EnableWindow(TRUE);    dRcd = WaitForSingleObject(cwt->m_hThread, INFINITE);    if(dRcd == WAIT_OBJECT_0)     return;   }   dRcd = WaitForSingleObject(cwt->m_hThread, 0);   if(dRcd == WAIT_OBJECT_0){    dlgCancel.DestroyWindow();    EnableWindow(TRUE);    break;   }  }  return; } <プロシージャ> ---------------------------------- UINT Sample_Proc(LPVOID pParam){  C_SampleDlg->やりたい処理関数呼び出し  ::AfxEndThread(0);  return 0; } 以降別ソース ================================== <C_SampleDlg::やりたい処理関数> ↑ここでdlgCancel.CheckCancel() == TRUEかどうか 判定したい場合、グローバル関数を使うか、または呼出し元で作成したインスタンスをパラメタとして渡して使うべきなのでしょうか。文字数の関係で分かりにくいところもありますが、よろしくお願いします。 ※dlgCancel.CheckCancel()はC_CancelDlgクラスのプロテクト変数を内部で操作しています。

  • Javaのダイアログについて

    if(window.confirm("よろしいですか?")) { document.F1.submit(); } 上記のロジックでダイアログ表示中のOKボタンを押すとtrueをかえすといいますが、なにがtrueを返すのですか? 判断ロジックを教えてください。 よろしくお願いします。