0

confirm()データベース操作を行うために値を取得する必要があるボタンがあります。例: ボタンをクリックすると、「はい」または「いいえ」を確認するメッセージ ポップアップが表示されます。「はい」の場合はデータベースの削除操作を行い、「いいえ」の場合はテキスト ボックスをクリアします。confirm()Javascript関数から戻り値を取得するにはどうすればよいですか。お知らせ下さい。

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();*/
4

2 に答える 2

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);
}
于 2012-04-20T19:15:22.113 に答える
0

confirm_proceed() の値を asp:HiddenField に格納できます。次のようにスクリプトを変更できます。

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

于 2012-04-20T18:45:59.367 に答える