Web ページをポストバックせずに、コンボ ボックスの選択時にテキスト ボックスを読み取り専用にすることは可能ですか? 私は病気のフォームを作成しています。ユーザーが医師の診察を受けていないことを選択した場合、特定のテキスト ボックスを読み取り専用にしたいと考えています。ポストバック イベントの問題は、ポストバック後にモーダル ウィンドウが開かず、ボタンがもう一度クリックされた場合にのみ開くことです。
前もって感謝します
Web ページをポストバックせずに、コンボ ボックスの選択時にテキスト ボックスを読み取り専用にすることは可能ですか? 私は病気のフォームを作成しています。ユーザーが医師の診察を受けていないことを選択した場合、特定のテキスト ボックスを読み取り専用にしたいと考えています。ポストバック イベントの問題は、ポストバック後にモーダル ウィンドウが開かず、ボタンがもう一度クリックされた場合にのみ開くことです。
前もって感謝します
これを試してみてください
<asp:DropDownList ID="dropDownID" runat="server" onselectedIndexChanged="myFunction()" >
以下のコードをフォームまたはコンテンツコントロール内のaspxファイルに配置します
<script type="text/javascript">
function myFunction()
{
var dropDown= document.getElementById("<%=dropDownID.ClientID %>")
var ddlSelectedValue= dropDown.options[dropDown.selectedIndex].value;
if(ddlSelectedValue=="desiredValue")
{
var textBox = document.getElementById("<%=textBoxId.ClientID %>");
textBox.disabled=true;
}
}
</script>
それを機能させるためにいくつかの努力を示してください。
javascript でテキストボックスを読み取り専用にするには、次のコードを使用します。コンボ ボックス イベントでこのコードを呼び出します。
aspx コード:
<asp:DropDownList ID="ddl1" runat="server" AutoPostBack="true" onselectedIndexChanged="func()" Width="150px">
JS コード:
function func()
{
var el = document.getElementById('txt');
this.setAttribute('readonly');
}