Using Ajax To Populate Web Page, But The Populated HTML Isn't Working
Sep 28, 2010
I'm using Ajax to dynamically populate a DIV. I have each page content stored in XML files as CDATA. When a user clicks on a link from the navigation bar, the Ajax loads the XML for that particular page, parses it, and populates the DIV with it's content.
Everything is working GREAT, except for one thing. I have a jQuery modal popup whose markup is loaded from that page's XML file. The .js and .css files from the jQuery plugin are all loaded, and when this is HARD CODED (i.e., not loaded from XML), it works fine. But when it's loaded from the XML, the modal doesn't work.
When the page is loaded from the XML file- What the page is supposed to do is load the HTML from the XML file, which it does, and there's a hyperlink that when clicked, it's supposed to create the modal popup window. Instead, clicking on the link does NOT fire up the modal popup window.
When the page is hard coded- it does everything it's supposed to do.
A live example is at:
http://mikemarks.net/clientSites/tabras/
Click on "The Band", and at the bottom you'll see the hyperlink called "Demo". Clicking on that should bring up a modal popup window, but instead as you can see it just takes you to the top of the page.
Below is my markup (notice the div id="copy", which is the placeholder for my HTML content that's loaded from the XML file), my Ajax JavaScript code, and my XML file (which is shown as the markup that's loaded into the div id="copy").
<div id="leftTwoThirdsColumn">
<div id="menu">
<ul class="menu">
<li style="width:65px;"><a id="default" href="#" onclick="makeRequest('xml/default.xml');"><span>Home</span></a></li>
<li style="width:65px;"><a id="lyrics" href="#" onclick="makeRequest('xml/lyrics.xml');"><span>Lyrics</span></a></li>
<li style="width:110px;"><a id="merch" href="#" onclick="makeRequest('xml/merch.xml');"><span>Merchandise</span></a></li>
<li style="width:93px;"><a id="bio" href="#" onclick="makeRequest('xml/bio.xml');"><span>The Band</span></a></li>
<li style="width:80px;"><a id="contact" href="#" onclick="makeRequest('xml/contact.xml');"><span>Contact</span></a></li>
<li style="width:150px;" class="last"><a id="friends" href="#" onclick="makeRequest('xml/friends.xml');"><span>Friends of Tabräs</span></a></li>
</ul>
</div>
<br /><br />
<div id="copy">
</div>
</div>
function makeRequest(url)
{
if(window.XMLHttpRequest)
{
request = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
request = new ActiveXObject("MSXML2.XMLHTTP");
}
sendRequest(url);
}
function sendRequest(url)
{
request.onreadystatechange = onResponse;
request.open("GET", url, true);
request.send(null);
}
function checkReadyState(obj)
{
if(obj.readyState == 0) { document.getElementById('copy').innerHTML = "Sending Request..."; }
if(obj.readyState == 1) { document.getElementById('copy').innerHTML = "Loading Response..."; }
if(obj.readyState == 2) { document.getElementById('copy').innerHTML = "Response Loaded..."; }
if(obj.readyState == 3) { document.getElementById('copy').innerHTML = "Response Ready..."; }
if(obj.readyState == 4)
{
if(obj.status == 200)
{
return true;
}
else if(obj.status == 404)
{
// Add a custom message or redirect the user to another page
document.getElementById('copy').innerHTML = "File not found";
}
else
{
document.getElementById('copy').innerHTML = "There was a problem retrieving the XML.";
}
}
}
function onResponse()
{
if(checkReadyState(request)) {
var response = request.responseXML.documentElement;
var root = new Array();
root = response.getElementsByTagName('');
//alert("Total Number of HTML Elements Found: " + response.getElementsByTagName("").length);
var html = '';
for (var i = 0; i < root.length; i++) {
var tagName = response.getElementsByTagName("").item(i).nodeName;
var tagObj = response.getElementsByTagName("").item(i);
html += tagObj.firstChild.nodeValue;
}
document.getElementById('copy').innerHTML = html;
}
}
<div style="padding-top:5px; margin-left:auto; margin-right:auto; text-align:center;">
<img src="images/ShawnBioActive.png" />
<img src="images/JasonBioActive.png" />
<img src="images/WillBioActive.png" />
<img src="images/RasoulBioActive.png" />
<img src="images/bioStrip.png" />
<div id='basic-modal'><h3>Basic Modal Dialog</h3><p>A basic modal dialog with minimal styling and no additional options. There are a few CSS attributes set internally by SimpleModal, however, SimpleModal relies mostly on style options and/or external CSS for the look and feel.</p><input type='button' name='basic' value='Demo' class='basic'/> or <a href='#' class='basic'>Demo</a></div><script type="text/javascript" src="../js/modal/jquery.simplemodal.js"></script><script type="text/javascript" src="../js/modal/basic.js"></script><link type="text/css" href="../css/modal/demo.css" rel="stylesheet" media="screen" /><link type="text/css" href="../css/modal/basic.css" rel="stylesheet" media="screen" /><script type='text/javascript'>jQuery().ready(function () {$('#basic-modal-content').modal();});</script>
<div id="basic-modal-content"><h3>Basic Modal Dialog</h3></div><div style='display:none'><img src='images/modal/basic/x.png' alt='' /></div></test2>
</div>
View 2 Replies
Similar Messages:
Jan 4, 2011
Tried quite a few things, but cannot make it work. Solution probably a simple switch that has to be set somewhere.
We simply want to set the text properties of two literals. One literal will constitute the form, the other some js code.
</div></center>
</form>
<asp:Literal id="ctlForm" runat="server"></asp:Literal>
<asp:Literal id="ctlPostScript" runat="server"></asp:Literal>
</body>
</html>
In the code behind these literals are populated, the form literal holds a couple of fields, the script literal looks like this:
StringBuilder strScript = new StringBuilder();
strScript.Append("<script language='javascript'>");
strScript.Append("var ctlForm = document.forms.namedItem('{0}');");
strScript.Append("ctlForm.submit();");
strScript.Append("</script>");
ctlPostScript.Text = strJS2; //where strJS2 is the string being returned by the stringbuilder
This is executed when a certain button is pressed. The purpose is to redirect to another site.
This works fine as long as no AJAX is used.
However as soon as AJAX is added, in particular as soon as the script manager is added with partial rendering set to TRUE:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true">
</asp:ScriptManager>
then this stops working. The code in the button is still executed, we checked that, the literals get the right text properties. It appears however that the javascript is not executed. Nothing happens, no redirection.
the problem can be overcome by settin the script manager partial rendering to false, however, when this is done, much of the AJAX functionality stops working.
We think it may have to do with registering the script with the script manager. We tried this:
ClientScript.RegisterStartupScript(this.GetType(), "JSScript", strJS2);//done before setting the text property of the literal
But to no avail.
Anybody has seen this before and knows how its done right?
View 4 Replies
Jan 12, 2010
I'm trying to populate a div in html via ajax. The data source is a google search for "bing sucks"
I call the method with
loadXMLDoc('http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=Bing%20sucks')
It works in InternetExplorer, but it doesn't work with Firefox/Chrome. If I load just a file from the local domain (test.txt) , then it works.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>AJAX</title>
[Code]....
View 2 Replies
Oct 1, 2010
Here's what I have. I was able to debug and traverse through the webservice and return teh array back into the first call method of: return new CarsService().. But back in the page_load method, I can't get it to update and show up in the page.
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<cc1:CascadingDropDown ID="CascadingDropDown1" runat="server" TargetControlID="DropDownList1"[code]....
View 2 Replies
Mar 2, 2011
I need to populate a dropdownlist with results from a linq query done in my controller. I want users to be displayed but when the item is selected and submitted, the userid is passed back to the controller.my controller:
[Code]....
View 1 Replies
Apr 19, 2010
I am experiencing is that when I try to populate a table on a online environment with the below code, the table is populated twice. With the same code the table is populated correctly on an offline/production environment and cannot understand why :
This is what I have:
The table is called Trips
Code Behind:
[Code]....
This is what I use in my .aspx page:
(removed for brevity...)
<script type="text/javascript">
since I am trying to find one googling but there is nothing apparently.
View 6 Replies
Jun 3, 2010
I have two drop down lists on my page. One (DropDownList A) has the values preset by me. The other (DropDownList B) has its values filled by a database query if a button is pressed. Each of them have AutoPostBack set to true. Each of them have corresponding onselectedindexchanged functions. DropDownList A works fine. When I change it, I want it to turn itself invisible. It does. DropwDownList B is not working. When I select something, it does the postback but the selected item is reset and the onselectedindexchanged function is never called. I feel like this is a problem I've solved in the past, but it's been 3 years since I programmed ASP.NET. All this is done in C# by the way.
View 12 Replies
Jul 29, 2010
Im developing a website in asp.net where i want to connect the Payment gateway(rbs worldpay) as instructed im connecting to the payment gateway...the problem is, there im using some html button to connect the gate way as per the instructions the input button should be in form tag .in masterpage inherited aspx page we dont have any form tag the button is working properly when i placed that html code in content placeholder 1 but the button is displayed above the page......if i place that code in content place holder 2 the button is not working...........
im placing the code
[code]....
View 1 Replies
May 7, 2015
I want to bind large amount of data in gridview using jquery but without paging.
I am taking reference from this post
[URL]
But when there is large amount of data, it's not working
View 1 Replies
Mar 31, 2010
The following is not working (does a full postback). Note: HTML tags inside updatepanel. We can' t have HTML tags inside updatepanel? If so, what's the work around?
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<td><asp:DropDownList ID="ddlDEPT_ID" runat="server" AutoPostBack="true"></asp:DropDownList></td>
<td><asp:Label ID="Label5" runat="server" Text="Sub-Department:"></asp:Label></td>
<td><asp:DropDownList ID="ddlSUB_DEPT_ID" runat="server"></asp:DropDownList></td>
</ContentTemplate>
</asp:UpdatePanel>
The following works fine. AJAX in action.
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:DropDownList ID="ddlDEPT_ID" runat="server" Width="200px" AutoPostBack="true"></asp:DropDownList>
<asp:Label ID="Label5" runat="server" Text="Sub-Department:"></asp:Label>
<asp:DropDownList ID="ddlSUB_DEPT_ID" runat="server" Width="200px"></asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
View 3 Replies
Feb 2, 2011
Really the title explains it. When i have an HTML Editor (from the AJAX Control Toolkit) inside an UpdatePanel, i get the error message: "Microsoft JScript runtime error: Invalid set operation on read-only property"
I was looking online and it appears it's because the editor uses javascript - is there any workaround for this?
My markup is pretty straight forward:
<%@
Page
Title=""
Language="VB"
MasterPageFile="~/Site.master"
AutoEventWireup="false"
CodeFile="post.aspx.vb"
Inherits="post"
%>
<%@
Register
Assembly="AjaxControlToolkit"
Namespace="AjaxControlToolkit"
TagPrefix="asp"
%>
<%@
Register
assembly="AjaxControlToolkit"
namespace="AjaxControlToolkit.HTMLEditor"
tagprefix="cc1"
%>
<asp:Content
ID="Content1"
ContentPlaceHolderID="HeadContent"
Runat="Server">
<link
rel="stylesheet"
href="../Styles/post.css"
/>
</asp:Content>
<asp:Content
ID="Content2"
ContentPlaceHolderID="MainContent"
Runat="Server">
<table
style="width:100%"><tr><td
valign="top"
style="text-align:left"><asp:Label
ID="forumNav"
runat="server"
Text="Label"
Font-Names="Calibri"
Font-Size="Small"
ForeColor="#333333"></asp:Label></td><td
valign="top"
style="text-align:right;"><asp:Hyperlink
ID="replyButton"
NavigateUrl="reply.aspx?postID="
runat="server"
Text="Reply"
CssClass="replyButton"></asp:HyperLink></td></tr></table>
<asp:Panel
ID="postContent"
runat="server">
</asp:Panel>
<asp:UpdatePanel
ID="ReplyPanel"
runat="server"
ChildrenAsTriggers="false"
UpdateMode="Conditional">
<ContentTemplate>
<center>
<asp:Label
ID="Label1"
runat="server"
Text=""></asp:Label>
</center>
<br
/>
<asp:Panel
ID="Panel1"
runat="server">
Reply:
<cc1:Editor
ID="Editor1"
runat="server"
/>
<center>
<asp:Button
ID="Button1"
runat="server"
Text="Post
Reply"
/>
</center>
</asp:Panel>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger
ControlID="Button1"
EventName="Click"
/>
</Triggers>
</asp:UpdatePanel>
<asp:UpdateProgress
ID="ReplyProgress"
runat="server"
AssociatedUpdatePanelID="ReplyPanel"
>
<ProgressTemplate>
<center>
<asp:Image
ID="loading"
runat="server"
ImageUrl="~/Images/ajax-loader
(1).gif"/>
Sending reply...</center>
</ProgressTemplate>
</asp:UpdateProgress>
</asp:Content>
 
View 2 Replies
Sep 9, 2010
My scenario is i have 4 tabs, under every tab there are five cascadded combo. So for page load itself it calling webservice at last and populate all parent cascaded dropdowns in all the four tabs.
now I have made changes but still now its not working. By defeault [ScriptMethod(UseHttpGet = false)], so i made it [ScriptMethod(UseHttpGet = true)]. now on tab change i added that function and it is calling the web methods when changing the tab. But after the loading its again call the webservice and this time as the get is true so its not getting any value. And in the dropdown its showing "error 12030".
View 1 Replies
Jul 23, 2010
I have a Collapsible Panel Extender inside a datalist.I have a hyperlink inside the panel within the datalist. I want to have a modal popup on clicking the hyperlink inside the panel and I want the modal pop up to be populated with the data from the navigate URL property of the hyperlink. Is it possible to do this? I am attaching my code,this is currently throwing an exception which I am guessing is because it is unable to find the hyperlink in the panel within the datalist :-
[Code]....
View 13 Replies
Dec 30, 2010
Ajax calendar control not working properly with content place holder of Master Page.Most of time Calender Control hides when mouseover with out changing date in content place holder of Master Page.same code works in normal aspx pages.
View 2 Replies
Jun 15, 2010
I have an aspx page that has all its controls inside the scriptmanager and update panel.
I want to send the user to sessionexpired page after 20 mins of inactivity.
For this, I am writing the below code on page_load
Response.AppendHeader(
"Refresh", Convert.ToString((Session.Timeout * 60) + 10) &
"; URL=SessionExpired.aspx")
But the page is going to sessionexpired page after 20 mins even if the user is working on the page.
I think since I have all my controls in an update panel it is not doing a complete postback and hence the session object is not getting refreshed.
View 1 Replies
Nov 3, 2010
How can I get the populated cascaded dropdown value using javascript ?
View 6 Replies
Jan 20, 2010
i have tried autocompleteextender using page method and without master page and its working. but now im try to put them into master and its not working. this is my code***********pagename.ascx
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="C_TestAutoComplete2.ascx.vb" Inherits="C_TestAutoComplete2" %>
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="cc1" %>
[code]...
View 1 Replies
May 7, 2015
When I use the code below an error accur when click add button to insert into sql because the selected value in DropDownList is back to --select-- Idon't know why it should be the the value I selectedbut when not use this code and bind the DropDownList using wizard it works but I need to use the code to make the first selection is --select--.
private void PopulateDropDownList() {
string constr = ConfigurationManager.ConnectionStrings[1].ConnectionString;
using (SqlConnection con = new SqlConnection(constr)) {
using (SqlCommand cmd = new SqlCommand("SELECT Country_ID,Country_Name FROM Country", con)) {
using (SqlDataAdapter da = new SqlDataAdapter(cmd)) {
[Code] ....
View 1 Replies
Jan 13, 2011
I am starting a new project in Asp.net MVC 2.I have been mostly a webforms developer and have limited exposure to Asp.Net MVC and hence this is probably a noob question.
My situation is as follows:
I have a create page for saving some data to the DB. The view for this page is not strongly bound / typed - so the way I am extracting the data from the view is by looking at the POST parameters.
Incase there is an error (data validation, etc), I need to send the user back to the previous page with everything filled in the way it was and displaying the message.
[Code].....
View 1 Replies
Dec 4, 2010
I have a comment form inside the blog posts. in the form, if the user is authenticated, I will assign the values of the user into textboxes. that part is as follows;
[Code]....
But when I add HTML.TextBox instead of HTML.TextBoxFor, I am not getting validation if the user erase the fileds. Also, this form is inside the indext page and it is related to another action as follows;
[Code]....
so I cannot assign ModelState.AddModelError from controller.
What should I do here.
View 4 Replies
Sep 7, 2010
My issue is similar to [URL] how-to-use-the-value-of-a-selected-value-from-a-dropdownlist-populated-with-ajax but I am using ASP.NET, not PHP. I have a dropdownlist that is populated by another dropdownlist's current value through ajax. So if DDL A is 'NY', DDL B is populated with different data relating to 'NY'. I need that data to be posted back to the server because this affects an SQLDataSource parameter. However, as far as I can tell, the value is always null after postback resulting in the gridview to be empty.
View 1 Replies
Oct 21, 2010
i'm using the Ajax cascading dropdown list it works fine. But how to call the server side after the dropdown list populated....
i don't want to call those method in drop down list index changed because it may cause postback..
View 6 Replies
May 7, 2015
I am using ITextSharp to create a pdf. But when I am binding data to Gridview dynamically which was actually a result of ajax webmethod, its showing a blank PDF file. So how can I export dynamically binded data to GridView to PDF. Is there any other way to export dynamically binded gridview data to PDF?
View 1 Replies
Feb 10, 2011
I'm look for a way to pre-populate Asp.net form from E-mail Link. I tried several method such as:[URL]Our vendor is saying this should work but I'm having no luck with it. If someone can tell me what might be wrong with this or if there is another solution. This is being used for an e-mail campaign so that the user receiving the e-mail does not have to fill the form link is navigating to.
View 1 Replies
Oct 29, 2010
I have two tables, Users and Roles. The roles table is a reference table for the different roles of my site (RoleId and RoleName columns). The Users table contains profile data for each user, including a RoleId column that is FK'd back to the Roles table [RoleId].
Both tables are in a Linq to SQL model.
I have an edit page created which lists all the profile values of a user. The edit page inherits the User model. One of the editable values is the RoleId field. I want to set this up to be a drop-down list that contains items labeled using the RoleName column of the Roles table, and matched with values of RoleId.
View 3 Replies