Aug 15, 2013, 12:28 PM
[CLOSED] Disabled textfield not posting updated text to DirectEvent if textfield is setValue in client javascript.
<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
protected void Page_Load( object sender, EventArgs e ) {
TitleE.Text = "Test";
STitleE.Text = "";
}
protected void OnTitle( object sender, DirectEventArgs e ) {
X.MessageBox.Alert( "STitle", STitleE.Text.Trim() ).Show();
}
</script>
<!DOCTYPE html>
<html>
<head id="Head1" runat="server">
<title>Test29</title>
</head>
<body>
<form id="Form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<ext:Viewport ID="vp" runat="server" >
<Items>
<ext:FormPanel runat="server" >
<HtmlBin>
<ext:XScript ID="XScript1" runat="server">
<script type="text/javascript">
var TitleEdit = {
changeTitle: function() {
var title = #{TitleE}.getValue();
if(!title) return;
#{STitleE}.setValue(title);
},
enableSTitle: function(set) {
if(set) #{STitleE}.enable(); else #{STitleE}.disable();
}
};
</script>
</ext:XScript>
</HtmlBin>
<Items>
<ext:TextField ID="TitleE" runat="server" MaxLength="80" EnforceMaxLength="true" FieldLabel="Title"
Width="560" EmptyText="Title" MinLength="2" AllowBlank="false"
CausesValidation="true" EnableKeyEvents="true" Flex="1">
<Listeners>
<KeyUp Handler="TitleEdit.changeTitle();" />
</Listeners>
</ext:TextField>
<ext:FieldContainer ID="FieldContainer1" runat="server" FieldLabel="Short Title" AnchorHorizontal="100%" Layout="HBoxLayout" Flex="1">
<Items>
<ext:TextField ID="STitleE" runat="server" MaxLength="12" EnforceMaxLength="true" Width="94"
EmptyText="ShortEvntName" MinLength="2" AllowBlank="false" CausesValidation="true" Disabled="true">
<Listeners>
<AfterRender Handler="TitleEdit.changeTitle();" />
</Listeners>
</ext:TextField>
<ext:Checkbox ID="STitleCk" runat="server" BoxLabel="Override">
<Listeners>
<Change Handler="if(this.checked) #{STitleE}.enable(); else #{STitleE}.disable();" />
</Listeners>
</ext:Checkbox>
</Items>
</ext:FieldContainer>
</Items>
<Buttons>
<ext:Button ID="TitleSubB" runat="server" Text="Save" Icon="Disk" CausesValidation="true" Type="Submit">
<DirectEvents>
<Click OnEvent="OnTitle">
<EventMask ShowMask="true" MinDelay="500" Msg="Saving Titles" />
</Click>
</DirectEvents>
</ext:Button>
</Buttons>
</ext:FormPanel>
</Items>
</ext:Viewport>
</form>
</body>
</html>
If I don't enable the StitleE with the checkbox, the return result is the original value. If I do, it sends the revised value to the direct event. I need this value. It seems strange that if I set STitleE.Text = "New" in Page_Load instead. I'll receive "New" displayed on Submit if textfield disabled, and "Test" if enabled. This seems broken.
Last edited by Daniil; Aug 20, 2013 at 9:15 AM.
Reason: [CLOSED]