1

何らかの理由で、私はHTMLコントロールを使用していますrunat="server"。これらのコントロールの1つはボタンです。クライアント側の検証機能があります。クライアント側の検証 が成功した後、サーバー側のアクションを実行したくありません。

HTML:

<button type="button" id="webSubmit" 
runat="server" 
onclick="return $('#form1').valid();">Submit</button>

サーバ側:

protected void webSubmit_ServerClick(object sender, EventArgs e)
{
   //foo
}

ボタンをクリックすると、フォームが検証されますが、検証でtrueが返された場合でもポストバックされません。

ASP.netによって生成されます。

<button onclick="return $('#form1').valid(); __doPostBack('webSubmit','')" 
id="webSubmit" type="button">Submit</button>
4

1 に答える 1

0

onclickコードを次のように変更しました。

onclick="$('#form1').valid() && "

ASP.netで生成されたコードは次のとおりです。

<button onclick="$('#form1').valid() &&  __doPostBack('webSubmit','')" 
id="webSubmit" type="button">Submit</button>

これは次のようになります。

if ($('#form1').valid()){
__doPostBack('webSubmit','')
}

私は次のことからアイデアを得ました:インラインjavascript ifステートメントでelseを省略できますか?

于 2013-01-26T13:30:48.540 に答える