Pass A PHP Variable To A Window.onload Event Function?
Dec 21, 2009
How do I pass a PHP variable into a window.onload event function? I have a URL that I need to pass to the JavaScript file that has this function in it. The JavaScript file itself is being linked from the PHP file that will pass the variable and I've seen many examples of how this is done via embedded JavaScript, but none where someone is linking to an external JavaScript file. I suppose this is probably a trivial matter to most of you, but I've never done this before and could use some guidance!
If I use a window opener to open a new window, is there a way to detect that the new window is finished loading before carrying out some other directive in the opener window? Can I access the remote window's onload event from the opener window? I need to know that the website has loaded before moving to the next page. something like:
My problem is that some of these myFunction#s include AJAX calls but the calls depend on each other in such a way that myFunction2 will not work unless myFunction1 has completed. So what is the "nicest" way to make sure of this? I've considered putting a hidden element in the HTML and then changing it at the end of each function call and have the onchange event trigger the next function call. But this seems very hacky and overcomplicated - surely there must be a simpler and better way....?
I'm trying to convert an on load event into a function. I think this should be really simple, but I'm new to Javascript. The following works fine as the page loads
var favorite = GetCookie('DemoName');
if (favorite > Ƈ') { window.location.href = 'page2.htm' } else { alert('You must complete the lesson before proceeding'); }
I have tried to make it into a function by adding function CookieRedirect() { at the top and a closing } at the end, and calling it using a form button in the body:
I've been developing an application that uses a combination of Javascript and PHP. It's a sizeable form that includes the option for the user, on certain form objects, to add additional text boxes for multiple answers. I created a Javascript function that uses the insertRow() method. The user can click on a link which adds a row with a text box for an additional response. My function works great and, after some work around I got the values to post correctly, but where I'm running into trouble is re-populating those additional fields if I have to bring the user back to edit input that was not put in correctly.
My solution was to have create a PHP varible which is a javascript function call, e.g.: $var = "js_function('varName1','varName2', 'varName3', 1 , '" . $post_val . "')"; Using the posted variables that apply and then echoing that into the onload event handler in the body tag. This calls the same function that was originally used to add the row to have it add the row again and populate it with the already submitted data. It all looks great, like it should work, but it doesn't and I'm wondering if there is something about the onload event handler which I don't know about. It was my understanding that the event handler executes when the page is fully loaded. If that is the case, my solution should work.
I don't know if there's some error I'm not seeing or if I'm trying to make the onload event handler do something it's not supposed to. I used a similar solution on another application and it works there. To give a better understanding, here is the function: function appendIaRow(tblId, valID, oName, Nbr, populate1, populate2) { var tbl = document.getElementById(tblId); var newRow = tbl.insertRow(tbl.rows.length); var numi = document.getElementById(valID); var num = (document.getElementById(valID).value -1)+ 2; numi.value = num; var rowID = 'Row'+num; newRow.setAttribute('id',rowID); var newCell = newRow.insertCell(0); newCell.innerHTML = "<input type=\"text\" name=\""+oName+"Name["+num+"]\" value=\""+populate1+"\" size=\"20\" maxlength=\"150\"/> <a href=\"Javascript:;\" onclick=\"deleteLastRow('"+tblId+"','"+rowID+"');\" style=\"text-decoration:none\">X</a><br /><br />"; var newCell2 = newRow.insertCell(1); if (Nbr == 1){ newCell2.innerHTML = ""; }else{ newCell2.innerHTML = "# <input type=\"text\" name=\""+oName+"Number["+num+"]\" value=\""+populate2+"\" size=\"17\" maxlength=\"17\"/><br /><br />"; }}
Here is the coding for the event handler('initialize()' is a different function altogether - that works): <body onload="initialize(),<?php echo $init ?>;"> And here is what it looks like from the source code when the page is displaying in a browser: <body onload="initialize(),appendIaRow('AdmTbl','AdmValue','Administrator', 1, 'Joan'),;">
If it is possible to pass a php variable through to a javascript function.
Example.
I have a bit more to the code but that is the bare essentials as an example. If i remove the $id and $name from the passTest() for onClick the function works properly. However if I leave them in the function doesn't seem to work at all.
I have these 2 functions... The first draws a graph, then second I am trying to use to generate the "layout.addDataset" line of code, which it does perfectly. However, I am unsure how to call the function generatedataset from within drawGraph, and pass the variable "mainstring" as it is not set as a variable. code...
How to add an onload function to an opened window? (target is "self", not window.open, just a regular link)Is it possible with onbeforeunload or something? Or add onclick to the "normal link"?I mean like this:
I have a javascript will a) look for a certain value in a drop down box and b) depending on what value is selected open up a div that includes link that when moused over will pop up with an alert box contain the passed parameter. A couple problems with this, one is I am not as sharp on Javascript as I am on PHP, and two, when I manually place a value into the function parameter, if it's a number it works fine, but if its a string or word, it comes up with an undefined error. why the undefined error is coming up only on strings or words?
In the following code I am trying to pass the return value of the function "getrownum" to the PHP code...but the problem is, when i am trying to pass the return value of the forementioned function, i got no result. "please find my attempts highlighted below in red"code...
<script> function imgdis () { window.resizeTo(400,500); } </script> <body
However i still need to make this window to be displayed without Statusbar, Scrollbar, etc. I wanted to be stripped so it only displayes the content. Can i do this from the function that i already set?
When using this script on a external js, it will not run. Trying to learn js and I do not understand why it does not work, when it should. The window.onload should call the function.
It's pretty simple stuff that just populates an empty div with an image link to bookmark the page when users have javascript enabled. Now when I call the function using <body onload="add_favorite();"> and cancel out the window.onload=add_favorite(); from the script it works just fine (it throws a line-1 syntax error up in IE that I can't figure out, but functionally everything still works in IE7 and FF2). When I try to do it the "unobtrusive" way I get nothing at all in either browser.
A little debugging revealed that the function is indeed being called and is running successfully, however the function is somehow unable to locate the element with ID of "bookmark" when it is fired with window.onload and as a result I get no bookmarking link. It's almost like window.onload is triggering itself too soon, before the div of "bookmark" is in the page, but how can that be?
i have an html page that when it loads theres an onLoad event called which calls a function.now what i want to do is be able to click a link that refreshes the page but at the time on the refresh it skips the onLoad event. is this possible?
Let's say I have this function: function add(x, y) { var add = x + y;
[Code]...
So let's say the value of select_first is "1", and value of select_second is also "1". But when they are passed to the add function, the returned value is 11 and not 2. So what I understood is that it took the values as strings instead of integers. What should I do so that select_first and select_second are integers instead of string?
I have a bit of php that creates an entry on a page for each row in a table, some pages may have multiple entries, others just one.
eg.
<h2 class="title">{title}</h2> {summary} <p onclick="openBox({entry_id})">Click to read more ></p> <div id="{entry_id}" style="display:hidden;">{body}</div>
I would like to have just one function to open and close all individually, eg.
$(document).ready(function(){ function openBox(id){ if ($("#id:first").is(":hidden")) {
[Code].....
Well I know I'm doing something wrong as this is not working, and I don't know how better to explain I hope this is sufficient, I'm not worrried about the php/html bit as that is working fine.