2012-04-20 7 views
0

データベース操作を行うためにconfirm()値を取得する必要があるボタンがあります。たとえば、ボタンをクリックすると、「はいまたはいいえ」を確認するメッセージポップアップが表示されます。はいの場合はデータベースで削除操作を行い、そうでない場合はテキストボックスを消去します。 javascript confirm()関数から返された値を取得するにはどうしたらいいですか?お知らせ下さい。おかげC#コードでconfirm()値を取得する方法

string jScript; 

jScript = "<script> function processConfirm(answer) {if (answer) {return 'Facilitator Deleted';}else {return 'Cancelled';}} var confirmAnswer = confirm('You sure to delete ?');var theAnswer = processConfirm(confirmAnswer);alert(theAnswer);</script>"; 

ClientScript.RegisterClientScriptBlock(this.GetType(), "keyClientBlock", jScript); 


/* SqlCommand cmd = new SqlCommand("TrainerFilter", conn); 

cmd.CommandType = CommandType.StoredProcedure; 


cmd.Parameters.Add("@EmployeeID", SqlDbType.Int, 50).Value = TextBox1.Text.Trim(); 


cmd.Parameters.Add("@result", SqlDbType.Int, 50).Direction = ParameterDirection.Output; 


conn.Open(); 


cmd.ExecuteNonQuery();*/ 
+0

読みやすくするためにコードを少しきれいにするのはどうでしょうか?編集ボックスの上のオレンジ色の疑問符をクリックすると、Markdownエディタのヘルプが表示されます。 –

答えて

0

あなたはASPでconfirm_proceed()の値を格納することができますが、次のようにあなたのスクリプトを変更することができ のHiddenField: 関数confirm_proceedを() { VARのHiddenField =のdocument.getElementById( 'hiddenFieldId' );

if (confirm("Are you sure you want to proceed?")==true) 
    { 
    hiddenField.value = 'true'; 
    return true; 
    } 
    else 
    { 
    hiddenField.value = 'false'; 
    return false; 
    } 
} 

+0

次のPage_Load()コールでhiddenFieldの値にアクセスする方法は? –

0

これは少し混乱ですが、この確認は、ボタンクリックに結びついていると仮定すると、通常はこのようなものだろう:

<script type="text/javascript"> 
    processConfirm = function() { 
     var result = confirm("Are you sure you want to delete this?"); 
     if (!result) { 
      alert("Cancelled"); //or set a label or whatever 
      return false; //cancel postback 
     } 
     return true; //perform postback 
    } 
</script> 
<asp:Button ID="Button1" runat="server" OnClientClick="return processConfirm();" OnClick="Button1_Click" /> 

そして、コードビハインドでは:

protected void Button1_Click(object sender, EventArgs e) 
{ 
    //perform the delete logic since because if you reach here 
    //you know that the user confirmed 

    //throw up an alert when the page is reloaded confirming that the deletion 
    //you could also set a label here instead of an alert if you wanted 
    Page.ClientScript.RegisterStartupScript(this.GetType(), "confirmDelete", "alert('User was deleted');", true); 
} 
関連する問題