InnerHTML And DOM Elements In Safari
Mar 29, 2005
I'm facing a problem with Safari (Mac) when trying to switch 2 elements innerHTML's and looking for the elements they include with getElementById.
The browser seems to be unable to find the "divA" element when switching twice. When switching three times, the alert message is correct, the element is found. Do someone has any idea about this or any tip to overpass this problem.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<script language="JavaScript">
function switchHTML(el1,el2) {
var tempHtml = document.getElementById(el1).innerHTML;
document.getElementById(el1).innerHTML = document.getElementById(el2).innerHTML
document.getElementById(el2).innerHTML = tempHtml;
}
function getElement(elt) {
var myElement = document.getElementById(elt);
alert (myElement);
}
</script>
<body>
<div id="div1" style="border:1px solid #dfdf00">div1
<div id="divA" style="background-color:#dfdfff">divA</div>
</div>
<br />
<div id="div2" style="border:1px solid #dfdfdf">div2
<div id="divC">divC</div>
</div>
<a href="#"
<a href="#" element</a>
</body>
</html>
View 1 Replies
ADVERTISEMENT
Jul 23, 2005
I am currently experiencing a bug in Safari v125.9. When I modify the value of form input box and then get the innerHTML property of the surrounding div object - I am returned the original form value not the changed value!
View 7 Replies
View Related
Apr 14, 2011
I have a form that is shown depending on some criteria. If the criteria are met, I use innerHTML to swap it in. When a button is pressed, the info on the form is checked with javascript - if it passes the check I use innerHTML again to change the button to '...'.
This works fine on Firefox and Safari - the problem is that it doesn't work when I test it with my iPad (iOS 4.3). The button stays the exact same and the javascript seems to stall on the line where I execute the innerHTML. Up to this point, innerHTML on mobile Safari seemed to work the exact same way as MacOS Safari. On my iPad, the innerHTML swaps out this button if the event is triggered from a different button, but not from id="submitbutton" itself.I tested another method - disabling the button. Same issue - works on MacOS Safari/Firefox but not on mobile Safari on my iPad when using onClick from itself.
code snippets
Form (it is a string since using innerHTML=)
...form content...
<div id="submitarea" class="center">
[code]...
View 1 Replies
View Related
Jul 13, 2010
I have this snippet of javascript that is supposed to add additional input fields when a user requests them, which it does just fine. However, when the new field is added, if any of the existing fields had a value, the value gets erased.
Here is the code:
Code JavaScript:
if (document.getElementById('morestores') != null && document.getElementById('initialStore') != null) {
var trid = document.getElementById('morestores');
var idiv = document.getElementById('initialStore');
[code]....
View 5 Replies
View Related
Mar 3, 2009
I have a list of input fields within the form and a button that can be clicked to add new input fields into the form. This works but if any of the input elements have had text entered into them, then this text is cleared when the button is selected. code...
View 5 Replies
View Related
Sep 16, 2009
function writeCmd()
{
// var div = top.buttonFrame.document.getElementById("buttonList");
[code].....
View 3 Replies
View Related
Aug 24, 2011
I have some DIV elements having some ID and content in it .. for example
I have submit button when I click this ... I should generate a JSON data structure like this
I need to POST this on submit button clicking.... I have seen some serializeArray() function but it works well for form based elements, I have created some string based structure in which I am printing the single quotes and double quotes like this fashion by creating a array and pushing itvar result = new Array();
Is there any short cut to create JSON with this datas ...
View 2 Replies
View Related
Jun 6, 2010
The very simple code (below) works fine in Safari (and Chrome, Firefox etc.), but it doesn't work in Mobile Safari. Why?(You can find a working example at: http:[url]....)
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>[code]......
View 2 Replies
View Related
Mar 14, 2010
I have a page I am working and I am having some trouble with: I need to show and hide areas based on a radio selection. I initally started using the show / hide feature in Jquery but the problem is the elements need to be removed but then put back if the user selects the radio buttonagain as it has form elements that have validaion on them. The validation is still trying to validate the form elements becuase they are still on the page but just not showing. This is the radio group the user makes the selection from:
<input name="terms_usr" type="radio" id="terms_usr_1" value="1"/>
<label for="terms_usr_1">Credit Card</label>
<input type="radio" name="terms_usr" id="terms_usr_2" value="2"/>
<label for="terms_usr_2">C.O.D</label>
[Code]....
View 3 Replies
View Related
Jun 3, 2010
I have HTML tags stored in XML. I want to be able to use these HTML elements with Javascript, just as you can with elements in document.body. How can it be done? (And don't try and tell me I should use server-side because I have written it all for Javascript and the project is nearly complete minus this and there are practical reasons for not doing this server-side. After all, anything is possible with Javascript!)
Let me explain:
- I have HTML templates such as this [URL]
- I want javascript to populate these templates then add them to my page
- The only way I know javascript can get this kind of data is by parsing XML
- I want to parse the XML then be able to use the HTML elements just like those in document.body
- As far as I'm aware, XML is the only good way of storing data for javascript. I don't want to store it in javascript variables (too much multiline data with " and '). Nor do I want to build it using document.createElement("div")... etc
As someone not yet with any experience in computer science etc, please ignore my poor terminology! However, I'm not a beginner when it comes to javascript.
Here's the script concerned but I doubt it'll help you understand my problem: [URL]
View 6 Replies
View Related
May 24, 2010
So i've got a form that adds an element onto the page. This is working. When I try to remove said elements, that works. But the same 'delete' button doesn't work on elements not generated by javascript.
Code JavaScript:
function destroyQuickTask() {
$.post($(this).attr("href"), null, null, "script");
[code]....
View 6 Replies
View Related
Mar 16, 2009
Is there a way to add an if and else with in innerHTML like this.
var sfe = document.getElementById("mainform").innerHTML ='<form name="'+frmName+'">'+
'<!-- comment -->'+
'<h2 id="pa" name="dr">';if(n == 1){'+fname+'}else if(n == 2){<b>No Title</b>} '</h2>'+
'more'+
View 4 Replies
View Related
Apr 10, 2006
I'm currently using AJAX to perform some dynamic updates and return some text to the web page. At the moment I'm using innerHTML as follows:
document.getElementById('WrkItemDiv').innerHTML=wrkItemReq.responseText;
but I'd like to be standards compliant. How would I do this using pure DOM stuff?
btw WrkItemDiv is an exisiting <div> I simply want to overwrite the text within it with the newly returned text.
Also, is it possible to change the onMouseOVer code with some text returned in the same way as above using pure DOM?
View 12 Replies
View Related
Oct 22, 2007
I am getting data from two tables in a database using a dropdown box with a onchange and some ajax to update two diferent Div tags, basically the id is passed to a php page,, I grab the data from the two tables, I then echo the data in two html tables. I echo a ** for a delimiter between the two tables,
Then I use a javascript split function to split the responseText into two peices so I can update each DIV with the coresponding data.
Everything works in Firefox, but in IE7 only one div gets updated with its data, the other div will not change, and I get a unknown runtime error. However if I go into my php page and change the data I am echoing after the delimiter to a simple echo 'test' it will work. Code:
View 2 Replies
View Related
Jul 23, 2005
I've got this code that creates a new new row and cell. I then put some
text into the cell with innerHTML - works beautifully with Firefox but
fails with IE. I guess IE doesn't support this way of doing it, but is
there another way of doing it with DOM?
newr = document.createElement('tr');
stbl.appendChild(newr);
newc = document.createElement('td');
newr.appendChild(newc);
newr.cells[0].innerHTML = (nr+1)+". "+sa[ti][nr + 1]+"<br><hr>";
(works in firefox but fails in IE 6+ too...)
View 22 Replies
View Related
Jul 23, 2005
Here is my problem in a nutshell: a script to model dynamic table
extension. It works under Firefox. But IE just aborts, complaining about
an "unknown runtime error" in the line with "innerHTML". Why?
<html><head></head><body>
<script language="javascript">
function extend() {
var tb = document.getElementById('thetable').tBodies[0];
var newrow = document.createElement('tr');
tb.insertBefore(newrow,tb.rows[tb.rows.length-1]);
tb.rows[tb.rows.length-2].innerHTML =
'<td>A</td><td>dummy</td><td>row</td>'
}
</script>
<table id="thetable">
<tr><td>1-1</td><td>1-2</td><td>1-3</td></tr>
<tr><td>2-1</td><td>2-2</td><td>2-3</td></tr>
<tr><td>3-1</td><td>3-2</td><td>3-3</td></tr>
<tr><td colspan="3"><a href="javascript:extend();">extend</a></td></tr>
</table>
</body>
</html>
View 1 Replies
View Related
Jul 23, 2005
IE seems to munge the innerHTML of a document, does anyone know why
it's changing the innerHTML?
<body>
<div style="background-color:LightGrey;" onclick="window.alert( 'one:'
+ getElementById('one').innerHTML );" id="one">
<table id="tableone">
<tr id="trone">
<td>click me</td>
</tr>
</table>
</div>
<div id="two" style="background-color:LightBlue;"
onclick="window.alert( 'two:' + getElementById('two').innerHTML );">
<table id="tabletwo">
<tr id="trtwo">
<td>click me too</td>
</tr>
</table>
<input type="checkbox" checked="checked" value="MYVAL" />
</div>
</body>
View 4 Replies
View Related
Jul 23, 2005
Why doesn't a SELECT element's innerHTML reflected which option was
selected? Works in IE. I need this functionality so that I can retain
what choices a user made in a tabbed interface.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://w3.org/1999/xhtml">
<head>
<script language="javascript">
function callAlert(){
var theHTML = document.getElementById('Radius').innerHTML;
//alert(theHTML);
}
</script>
<title>Untitled Document</title>
</head>
<body>
<form id="myForm">
<div id="myDiv">
<table border="0" width="430" cellpadding="3" cellspacing="0">
<tr>
<td font color="#ff0000">*</font>Radius:</td>
<td width="331" height="30" class="formData">
<select onChange="callAlert();" id="Radius" name="Radius">
<option value=".10" id="0">1/10 mile</option>
<option value=".20">1/5 mile</option>
<option value=".25">1/4 mile</option>
<option value=".5">1/2 mile</option>
<option value=".75">3/4 mile</option>
<option value="1">1 mile</option>
</select>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
View 24 Replies
View Related
Mar 8, 2006
I am using a frameset with two frames that looks like this:
|------------------------------|
| |--------------------------| |
| | FRAME 1 | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| |--------------------------| |
| |
| |--------------------------| |
| | FRAME 2 | |
| | | |
| | <html><body> | |
| | <table><tbody> | |
| | <tr> | |
| | <td>Data 1</td> | |
| | <td>Data 2</td> | |
| | </tr> | |
| | </tbody></table> | |
| | </body></html> | |
| |--------------------------| |
|------------------------------|
FRAME 2 has no height, so it looks as if you only have 1 frame. I am
using FRAME 2 to retrieve data from my server.
I open up FRAME 1 with my webpage and leave FRAME 2 empty. When the
user request data I target FRAME 2 and the data is loaded into FRAME 2.
What I have been trying to do is this. Take the innerHTML of the FRAME
2's table and load it into a table in FRAME 1.
View 1 Replies
View Related
Jul 6, 2006
I want to load an external file into my page via XMLhttpRequest and
innerHTML. The external file contains javascript code which is not executed during
or after insertion. All the HTML markup is displayed just fine....
basicly even this code doesnt work:
<div id='tmp'>original Content</div>
<script>
document.getElementById("tmp").innerHTML="<b>new</b>
Content<script>alert('not shown! why?');</script>";
</script>
looking at the page, "new Content" is shown with "new" bold as
expected, but there wont be the javascript alert!
View 1 Replies
View Related
Jul 19, 2006
I use Ajax to retrieve part of a page I need to update. I update a DIV
element with the HTML contents I get from another page.
It works fine.
However the HTML have a SCRIPT tag that the browser should process, but
it doesn't.
Here's an example:
--- pageX.aspx ---
<table>
<tr>
<td>Table 01</td>
</tr>
</table>
<script>
alert("HI");
</script>
--- end pageX.aspx ---
--- page on browser ---
<div id="divContents"></div>
<script>
divContents.innerHTML = getHtmlFromPage("pageX.aspx");
</script>
--- end page on browser ---
When the prowser gets the "pageX.aspx" and updates the contents of the
'divContents' it displays the table, but it didn't process the script.
What am I doing wrong?
View 17 Replies
View Related
Sep 29, 2006
What debugger would let me see the HTML in a div after I've added HTML
to the div using its innerHTML? That is:
var someInputHtml = prompt("input html");
var referenceToSomeDiv = document.getElementById("someDiv");
referenceToSomeDiv.innerHTML = someInputHtml;
When debugging, how do I now see what HTML is in the div "someDiv"?
Maybe there is a FireFox extension for this? Firebug?
View 5 Replies
View Related
Apr 27, 2007
if i use AttachEvent like this,it can't work;
eg:
var img = document.createElement("img");
img.attachEvent("onclick",alert("test"));
var div = document.createElement("div");
div.appendChild(img); //can't work;
div.innerHTML="<-click this";
but i use attachEvent like this,it work; eg:
var img = document.createElement("img");
img.attachEvent("onclick",alert("test"));
var text = document.createElement("span");
text.innerHTML="<-click this";
var div = documet.createElement("div");
div.appendChild(img); //can work
div.appendChild(text);
View 6 Replies
View Related
Jul 20, 2005
Is there any way to use a variable.innerHTML = ""; instead of text.innerHTML
= "";? It doesn't seem to work for me.
View 2 Replies
View Related
Jul 20, 2005
How can I get the innerHTML of a <div> area only when the page loads, then use that variable in a function?
Here is my code:
function setContent(zz)
{
var lb = document.getElementById('leftbar').innerHTML;
var rb = document.getElementById('rightbar').innerHTML;
document.getElementById("myContent").innerHTML = "<span class="title_Page">"+Page[zz]+"</span>";
if (zz=="home") {
document.getElementById('leftbar').innerHTML = lb;
document.getElementById('rightbar').innerHTML = rb;
document.getElementById('leftbar').style.width = 食px'
document.getElementById('rightbar').style.width = 食px'
}
else {
document.getElementById('leftbar').innerHTML = "";
document.getElementById('rightbar').innerHTML = "";
document.getElementById('leftbar').style.width = Ɔpx'
document.getElementById('rightbar').style.width = Ɔpx'
}
}
I want lb and rb to be set only once (i.e. only when the page loads the first time). I tried putting those variables outside the function, but when I do they, they show up as undefined. So how could i code it so that when the page loads, it assigns the innerHTML to the two variables, but not any other time while that page is open?
View -1 Replies
View Related
Jul 20, 2005
I have a page as follows:
<HTML>
<FRAMESET ROWS="20%, 80%">
<FRAME SRC="editor.html" NAME="editor">
<FRAME SRC="testfile.html" NAME="reader">
</FRAMESET>
</HTML>
editor.html contains the following code:
code = document.documentElement.innerHTML
which gives me the HTML-code of editor.html as expected.
Now I want to read the HTML-code of testfile.html instead. But
code = parent.reader.document.documentElement.innerHTML
just returns
<head></head><body></body>
with Mozilla, and IE gives an error.
Can somebody explain why this happens, and how I can solve it?
Since the first case works on all browsers I tried, I was hoping to get
a browser-independant method to read the sourcecode of another file.
By the way, all files are local.
View 1 Replies
View Related