0

これは私のコントロールです:

 <asp:TextBox ID="txt_rol" onkeyup="this.value=this.value.toUpperCase()"  runat="server" BorderColor="#E0E0E0" BorderStyle="Solid" Width="240px"></asp:TextBox>
                    </strong>
                    <asp:ImageButton ID="imgBtnGuardar" runat="server" ImageUrl="~/imagenes/boton.guardar.jpg"  OnClientClick="ValidaCajadeTextoVacia(document.getElementById('<%=txt_rol.ClientId%>'));MensajeCargandoJQUERY();"/>

問題は、テキストボックスの ID を取得できないことです。

4

3 に答える 3

0
function masterClick(clicked, controlID) {
    var dynCtrl = clicked.id.substring(0, clicked.id.lastIndexOf("_") + 1);
    var tBox = document.getElementById(dynCtrl + controlID);
    tBox.value = "";
    tBox.focus();
}

次に、画像ボタンから次のように呼び出します...

masterClick(this,'txt_rol');

tBox.value を変更し、好きなアクションにフォーカスしますが、JavaScript でコントロールにアクセスできるようにする必要があります。「 if (tBox) 」のようなチェックを追加して、オブジェクトがあることを確認できます。欠点は、インライン JavaScript 内のコントロールへの静的参照であり、呼び出し元のコントロールが別のコンテナー、グリッド、パネルなどにある場合は調整する必要があります。

于 2013-10-04T17:02:31.407 に答える
0

View Source で出力を確認すると、何が起こっているのかがわかります。OnClientClickプロパティ サーバー側 ( )を設定する必要がありますonload。またはそれをバインドする方法を見つけますOnClientClick='<%#SomeProperty%>'

もう 1 つのオプションは、jQuery を使用してコントロールを見つけることです。

$("input:text[id*=txt_rol]")

ところで、誰かがマウスを使ってテキストボックスに貼り付けた (右クリック/貼り付け) と、JavaScript は機能しません。

于 2013-10-04T17:31:50.373 に答える