Autopostback not working

  • Thread starter Thread starter Ron
  • Start date Start date
R

Ron

Hello all,

I don't understand why my pageis not posting back to the server when I
change the selection on a radio list.

I have a page that both accepts new personal info. or allows editing
to existing info depending on the parameter passed from previous
pages. The radio is supposed to disable the password (and confirm
password) text boxes as well as their validation controls. However,
when you click 'No' (This should perform the above tasks) nothing
happens. However, when you click submit to enter the edited
information: it posts back, performs the OnSelectedIndexChanged
procedure of the radio list as well as the OnClick of the button.
Grrr.

Below is (hopefully) as much code needed to disect the issue while
trying to keep as brief as possible. I thank you in advance.

--Start of code--

<html>
<script runat="server">
sub page_load (source as object, e as eventargs)
FormType.text = "Enter New Employee"

if len(session("empnum")) = 6 then
FormTypeVar = "Edit"
FormType.text = "Edit Personal Information"

else
emppass.enabled = true
empconfirm.enabled = true
end if

If not ispostback and formtypevar = "Edit" then
passchange.enabled = "true"
fill_page() --fills fields with info from DB
end if
end sub

sub Submit_Click (sender as object, e as eventargs)
If page.isvalid then
If FormTypeVar = "New" Then
--perform tasks for adding new employee
Else
--perform tasks for editing info
end if
end if

sub togglepass(sender as object, e as eventargs)
dim temp as boolean = passchange.selecteditem.value
if temp then
passoff = false
emppass.enabled = true
empconfirm.enabled = true
pwvalid.enabled = true
else
passoff = true
emppass.enabled = false
empconfirm.enabled = false
pwvalid.enabled = false
end if
end sub
<body>
<form runat="server">
Password:
<asp:TextBox id="emppass" runat="server" textmode="password"
Columns="25" />
<asp:CustomValidator id="pwvalid" OnServerValidate="password_validate"
errormessage="Your passwords did not match, please try again."
runat="server">*</asp:customValidator>

<asp:TextBox id="empconfirm" runat="server" textmode="password"
Columns="25" />

Change your password?
<asp:RadioButtonList ID="passchange" Enabled="false" RepeatColumns="2"
OnSelectedIndexChanged="togglepass" AutoPostBack="true" runat="server"
<asp:ListItem Value=true Text="Yes" Selected="true"/>
<asp:ListItem Value=false Text="No"/>
</asp:RadioButtonList>

<asp:Button id="submit" onclick="submit_click" text="Submit"
runat="server"/>
</form>
--etc.
 
Make sure the @AutoPostBack attribute is set on the tag in the HTML. Some
tags such as lists default to false so that the page does not refresh every
time that some event happens.
 
Thanks for your quick replies.

Didn't I do what both of you said with the the following:

<asp:RadioButtonList ID="passchange" Enabled="false" RepeatColumns="2"
OnSelectedIndexChanged="togglepass" AutoPostBack="true" runat="server">

Are either of you telling me to do something different than the above
autopostback="true". Thanks.
 
Do you have any script in the page? I mean, script placed there by you?

If not, just recompile the project.

Ron said:
Maybe this can clarify the problem. I just noticed the little yellow icon
--error on page-- when I click on one of the radio buttons. The error is:

Line:121, Char:3, Error:Object doesn't support this object or method, Code:0

When I view source on the page and goto line 121, this is the code:

<script language="javascript">
<!--
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
theform = document.forms["form1"];
}
else {
theform = document.form1;
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
Line 121--------> theform.submit(); <---------- Line 121
}
// -->
</script>

Thanks again.

Juan Romero said:
Set the radio list Autopostback property to TRUE.
 
And you're missing the closing </SCRIPT> tag.....

Ron said:
Maybe this can clarify the problem. I just noticed the little yellow icon
--error on page-- when I click on one of the radio buttons. The error is:

Line:121, Char:3, Error:Object doesn't support this object or method,
Code:0

When I view source on the page and goto line 121, this is the code:

<script language="javascript">
<!--
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
theform = document.forms["form1"];
}
else {
theform = document.form1;
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
Line 121--------> theform.submit(); <---------- Line 121
}
// -->
</script>

Thanks again.

Juan Romero said:
Set the radio list Autopostback property to TRUE.
 
javascript is case sensitive
<asp:Button id="submit" onclick="submit_click" text="Submit"
runat="server"/>
but refers to
sub Submit_Click (sender as object, e as eventargs)

Try being consistent with the case

Harry

Harry Simpson said:
And you're missing the closing </SCRIPT> tag.....

Ron said:
Maybe this can clarify the problem. I just noticed the little yellow
icon
--error on page-- when I click on one of the radio buttons. The error
is:

Line:121, Char:3, Error:Object doesn't support this object or method,
Code:0

When I view source on the page and goto line 121, this is the code:

<script language="javascript">
<!--
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
theform = document.forms["form1"];
}
else {
theform = document.form1;
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
Line 121--------> theform.submit(); <---------- Line 121
}
// -->
</script>

Thanks again.

Juan Romero said:
Set the radio list Autopostback property to TRUE.

Hello all,

I don't understand why my pageis not posting back to the server when I
change the selection on a radio list.

I have a page that both accepts new personal info. or allows editing
to existing info depending on the parameter passed from previous
pages. The radio is supposed to disable the password (and confirm
password) text boxes as well as their validation controls. However,
when you click 'No' (This should perform the above tasks) nothing
happens. However, when you click submit to enter the edited
information: it posts back, performs the OnSelectedIndexChanged
procedure of the radio list as well as the OnClick of the button.
Grrr.

Below is (hopefully) as much code needed to disect the issue while
trying to keep as brief as possible. I thank you in advance.

--Start of code--

<html>
<script runat="server">
sub page_load (source as object, e as eventargs)
FormType.text = "Enter New Employee"

if len(session("empnum")) = 6 then
FormTypeVar = "Edit"
FormType.text = "Edit Personal Information"

else
emppass.enabled = true
empconfirm.enabled = true
end if

If not ispostback and formtypevar = "Edit" then
passchange.enabled = "true"
fill_page() --fills fields with info from DB
end if
end sub

sub Submit_Click (sender as object, e as eventargs)
If page.isvalid then
If FormTypeVar = "New" Then
--perform tasks for adding new employee
Else
--perform tasks for editing info
end if
end if

sub togglepass(sender as object, e as eventargs)
dim temp as boolean = passchange.selecteditem.value
if temp then
passoff = false
emppass.enabled = true
empconfirm.enabled = true
pwvalid.enabled = true
else
passoff = true
emppass.enabled = false
empconfirm.enabled = false
pwvalid.enabled = false
end if
end sub
<body>
<form runat="server">
Password:
<asp:TextBox id="emppass" runat="server" textmode="password"
Columns="25" />
<asp:CustomValidator id="pwvalid" OnServerValidate="password_validate"
errormessage="Your passwords did not match, please try again."
runat="server">*</asp:customValidator>

<asp:TextBox id="empconfirm" runat="server" textmode="password"
Columns="25" />

Change your password?
<asp:RadioButtonList ID="passchange" Enabled="false" RepeatColumns="2"
OnSelectedIndexChanged="togglepass" AutoPostBack="true" runat="server"


<asp:ListItem Value=true Text="Yes" Selected="true"/>
<asp:ListItem Value=false Text="No"/>
</asp:RadioButtonList>

<asp:Button id="submit" onclick="submit_click" text="Submit"
runat="server"/>
</form>
--etc.
 
Back
Top