私が達成する必要がある機能は次のとおりです。
ポップアップ/ダイアログボックスを表示:
[はい] をクリックすると、送信された電子メール ID とその他の個人情報を検証する必要があります。検証が失敗した場合は、エラー メッセージを表示して false を返します。メール ID とその他の詳細が正しい場合は、いくつかの Div を非表示/表示します。
私はこの機能をjQueryで実現しましたが、今はサーバー側で行うことになっています。1 つ目は、Div が毎回正しく表示されなかったため、2 つ目はセキュリティ上の懸念によるものでした。
私がグーグルで得た提案は、サーバー側で(スクリプトタグに)完全なコードを書くように求めています。多くのフィールドを検証する必要があるため、それは多すぎます。
また、クライアント側で検証を行い、サーバー側に戻って検証結果に応じて Div を表示する方法はありますか? クライアントスクリプトはサーバー側の前に実行されるため、実現可能です。
このための新しいポップアップ ページを作成したくありません。
誰かが正しいコードまたはコードへのポインターを手伝ってくれたら、divを検証して表示する方法(サーバー側から実行するdivを表示する)。
更新しました:
誰かが私を助けることができれば、私は途中です:
ページの読み込み(ポストバックではない)で、次を追加しました:
btnConfirm.Attributes.Add("onclick", "if(confirm('Confirm - Are you sure you want to go ahead.')) onConfirm(); else return false;");
jQueryコードでは、次のように検証を追加しました:
function onConfirm() {
//Check if email-id is not blank, else show message and return to the page
if (isBlank($('#emailAddress').val()) == false) {
$('#errorBlankEmail').show();
return false;
}
}
//Text validation functions
function isBlank(valueSent) {
if ($.trim(valueSent) == "")
return false;
else
return true;
}
ボタンのコードは次のとおりです。
<asp:Button ID="btnConfirm" runat="server" Text="Confirm" onclick="Confirm_Click" />
そして、これのためのサーバー側のコード:
protected void Confirm_Click(object sender, EventArgs e)
{
divConfirm.Visible = true;
}
ボタンをクリックすると、検証して検証が失敗するまで機能し、サーバー側のコードが実行されます。クライアントのクリック コードで結果が false の場合、サーバー側のコードを回避する方法はありますか?