回答:
完了すると、JavaScriptがfalseを返すようにします。
<asp:button runat="server".... OnClientClick="myfunction(); return false;" />
OnClientClick="return false"
しました。
YourButton.Attributes.Add("onclick", "return false");
または
<asp:button runat="server" ... OnClientClick="return false" />
jqueryクリックアクションを使用し、preventDefault()関数を使用してポストバックを回避できます。
<asp:button ID="btnMyButton" runat="server" Text="MyButton" />
$("#btnMyButton").click(function (e) {
// some actions here
e.preventDefault();
}
このことを考慮。
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequest);
function BeginRequest(sender, e) {
e.get_postBackElement().disabled = true;
}
</script>
その他は、falseを返すためにコールバックが必要であることは正しいです。ただし、onclickを設定してそれを行うのは、醜い古い方法で行うことを付け加えておきます。控えめなjavascriptについて読むことをお勧めします。jQueryのようなライブラリを使用すると、作業が楽になり、HTMLとJavaScriptの結合が少なくなります(jQueryは現在Microsoftでサポートされています)。
ASP.NETは常にasp:Button
として生成されますinput type=submit
。
投稿を行わないボタンが必要だが、サーバー側の要素を制御する必要がある場合は、属性type=button
とrunat=server
。
のクリックアクションを無効にOnClientClick=return false
すると、次のような関数を作成しない限り、クリック時に何も実行されません。
function btnClick() {
// do stuff
return false;
}
使用している.NETフレームワークのバージョンはわかりません。
v2.0以降を使用している場合は、OnClientClickプロパティを使用して、ボタンのonclickイベントが発生したときにJavaScript関数を実行できます。
サーバーのポストバックが発生しないようにするために必要なことfalse
は、呼び出されたJavaScript関数から戻ることだけです。
さらに、受け入れられた回答については、UseSubmitBehavior = "false" MSDNを使用できます
__doPostBack(
クライアントクリックスクリプトの最後まで。
あなたはコードを使うことができます:
<asp:Button ID="Button2" runat="server"
Text="Pulsa"
OnClientClick="this.disabled=true"
UseSubmitBehavior="False"/>
neeが提出した場合
...
<form id="form1" runat="server" onsubmit="deshabilita()">
...
<script type="text/javascript">
function deshabilita()
{
var btn = "<%= Button1.ClientID %>";
if (confirm("Confirme postback"))
{
document.getElementById(btn).disabled = true;
return true;
}
return false;
}
</script>
検証あり
この例では、私は2つのコントロールを使用し、ddl
そしてtxtbox
、幸せなコーディングを持っています
asp:ScriptManager ID="script1" runat="server" /asp:ScriptManager
asp:UpdatePanel ID="Panel1" runat="server"
ContentTemplate
// ASP BUTTON
asp:Button ID="btnSave" runat="server" Text="Save" class="btn btn-success" OnClientClick="return Valid()" OnClick="btnSave_Click"
/ContentTemplate
/asp:UpdatePanel
<script type="text/javascript">
function Valid() {
if ($("#ctl00_ContentPlaceHolder1_YOUR CONTROL NAME").val() == 0) {
alert("Please select YOUR TEXT");
$("#ctl00_ContentPlaceHolder1_YOUR CONTROL NAME").focus();
return false;
}
if ($("#ctl00_ContentPlaceHolder1_YOUR CONTROL NAME").val().length == 0) {
alert("Please Type YOUR TEXT");
$("ctl00_ContentPlaceHolder1_YOUR CONTROL NAME").focus();
return false;
}
return true;
}
</script>