JavaScript - Passing Variables In And Out Of Functions
Hi,
Need some help here. To formulate the problem simple i have two buttons with the onclick function: Code: <a href="#" ONCLICK="function1('this')">Click for this!</a> <a href="#" ONCLICK="function1('that')">Click for that!</a> When I click this button I actually need to pass the value 'this' or 'that' to function2.. Code: <script language="javascript"> var name = '' function1(name) { ??? } function2() { document.all.textbox.value = name; } </script> I guess what im asking is how can you set a variable by one onclick function and then use it in any other function? Thanks a bunch! Col Similar TutorialsHi I want help with trying to pass some variables from one function to another. so with the following example: Code: // main body of script function exercise() { fnLLR_Calculate(); fnLLR_Calculate2(); } function fnLLR_Calculate() { //-------Gets values from web page------// var $Shares; _set($Shares, _getText(_textbox("CALC_STOCK_INPUT"))); $Shares = Number($Shares); _log("$Shares =" + $Shares); var $GrantPrice; _set($GrantPrice, _getText(_textbox("GRANT_PRICE_INPUT"))); $GrantPrice = Number($GrantPrice); _log("$GrantPrice = " + $GrantPrice); var $FMVPrice; _set($FMVPrice, _getText(_textbox("FAIR_MARKET_VALUE"))); $FMVPrice = parseFloat($FMVPrice).toFixed(2); _log("$FMVPrice = " + $FMVPrice); var $TaxWitholdRate; _set($TaxWitholdRate, _getText(_textbox("TAX_WITHHOLDING_RATE"))); $TaxWitholdRate = $TaxWitholdRate / 100; _log("$TaxWitholdRate = " + $TaxWitholdRate); } function fnLLR_Calculate2() { //----uses values from fucntion 1 to calculate----// $Result_Shares = ($Shares- $GrantPrice) * $TaxWitholdRate / $FMVPrice; $Result_Shares = $Result_Shares.toFixed(0); _log("$Result_Shares = " + $Result_Shares); } So i need to pass some variables from function fnLLR_Calculate to fnLLR_Calculate2. What is the best way to do this? I've noticed that if you declare a variable in one function, then call another function, the variables cannot be accessed in that function. Is there any way to get the value of a variable declared in a different function?
Hi everyone, I am working on an assignment and require a little bit of assistance. I have a form (an order form) where I am required to validate the required entries - I have managed to do this with the textbox field no problems. Where I am coming unstuck is with the following items. homePhone - numbers only and max 10 numbers for validation postCode - same as above email validation of @ and . How do I validate comboboxs so that if nothing is selected an alert shows? If the "other address" radiobutton is checked how do I have the text boxes only validate on check? How do I validate the textarea when "do you want a card message" is ticked? I have been working on this for the past week and a bit and have done a fair amount of research and tried to implement various pieces of code I have found with no luck. I have removed some of the select objects to cut down on the amount of code. I am not expecting anyone to write my assignment for me, just wanting assistance to help me learn and become more proficient in JS Regards BP Code: <html> <head> <title>Online Order Form</title> <meta http-equiv="Content-type" content="text/html; charset=UTF-8"> <meta name="author" content="Jeremy Porteous"> <script type="text/javascript"> <!-- function validate(){ var form=document.getElementById("orderForm"); var Name=form["fullName"].value; var fullName_err=document.getElementById("fullName_err"); var address=form["address"].value; var address_err=document.getElementById("address_err"); var location=form["location"].value; var location_err=document.getElementById("location_err"); var postcode=form["postcode"].value; var postcode_err=document.getElementById("postcode_err"); var homePhone=form["homePhone"].value; var homephone_err=document.getElementById("homePhone_err"); var email=form["email"].value; var email_err=document.getElementById("email_err"); var checkbox=form["card"].value; var street=form["street"].value; var street_err=document.getElementById("street_err"); var otherLocation=form["otherLocation"].value; var otherLocation_err=document.getElementById("otherLocation_err"); var otherPostcode=form["otherPostcode"].value; var otherPostcode_err=document.getElementById("otherPostcode_err"); if(Name==""){ fullName_err.innerHTML="Please enter your Full Name"; }else{ fullName_err.innerHTML=""; } if(address==""){ address_err.innerHTML="Please enter your Street Address"; }else{ address_err.innerHTML=""; } if(location==""){ location_err.innerHTML="Please enter your Surburb/Town"; }else{ location_err.innerHTML=""; } if(postcode==""){ postcode_err.innerHTML="Please enter your Postcode"; }else{ postcode_err.innerHTML=""; } if(homePhone==""){ homePhone_err.innerHTML="Please enter your Phone Number"; }else{ homePhone_err.innerHTML=""; } if(email==""){ email_err.innerHTML="Please enter a valid Email"; }else{ email_err.innerHTML=""; } if(street==""){ street_err.innerHTML="Please enter Street Address"; }else{ street_err.innerHTML=""; } if(otherLocation==""){ otherLocation_err.innerHTML="Please enter Suburb/Town"; }else{ otherLocation_err.innterHTML=""; } if(otherPostcode==""){ otherPostcode_err.innerHTML="Please enter Postcode"; }else{ otherPostcode_err.innerHTML=""; } if(Name=="" || address=="" || location=="" || postcode=="" || homePhone=="" || email=="" || street=="" || otherLocation=="" || otherPostcode=="") { alert("Please Check form and fill in form data correctly"); return false; }else{ return true; } } --> </script> <h2>Joes Online Order Form</h2> <h5>* denotes a required field</h5> <h3><u>Your Details</u></h3> <form id="orderForm" name="orderForm" method="post" action="" onsubmit="javascript:return validate()"> <!-- The form user is required to fill in some personal information * is a required field --> <!-- Input fields will be validated --> <h4>*Name: <label><input type="text" id="fullName" size="35"></label> <label id="fullName_err" style="color:#FF0000; font-style:italic;"></label></h4> <h4>* Address: <label><input type="text" id="address" size="30"></label> <label id="address_err" style="color:#FF0000; font-style:italic;"></label> * Suburb/Town: <label><input type="text" id="location" size="30"></label> <label id="location_err" style="color:#FF0000; font-style:italic;"></label></h4> <!-- The input field for "state" is a dropdown combo box --> <h4>* State: <select name="homeState" size="0"> <option value="State">Select your State</option> <option value="ACT">ACT</option> <option value="NSW">NSW</option> </select> <label id="homeState_err" style="color:#FF0000; font-style:italic;"></label> * Postcode: <label><input type="text" id="postcode" maxlength="4" size="4"></label> <label id="postcode_err" style="color:#FF0000; font-style:italic;"></label></h4> <h4>* Home Phone: <label><input type="text" id="homePhone" maxlength="10" size="10"></label> <label id="homePhone_err" style="color:#FF0000; font-style:italic;"></label></h4> <h5>Work Phone: <input type="text" id="workPhone" maxlength="10" size="10"> Fax: <input type="text" id="Fax" maxlength="10" size="10"></h5> <h4>* Email: <label><input type="text" id="email" size="30"></label> <label id="email_err" style="color:#FF0000; font-style:italic;"></label></h4> <!-- The input fields for "type" and "expDate" are dropdown combo boxes --> <h4><em>Credit Card Details</em></h4> <h4>* Type: <select name="creditCard" size="0"> <option value="creditCard">Select your Credit Card</option> <option value="visa">Visa</option> <option value="mastercard">Master Card</option> </select> * Exp Date: <select name="expMonth" size="0"> <option value="Jan">Jan</option> <option value="Feb">Feb</option> <option value="Mar">Mar</option> </select> <select name="expYear" size="0"> <option value="2012">2012</option> <option value="2013">2013</option> <option value="2014">2014</option> </select></h4> <!-- Using the combo boxes the user can select type of basket and qty --> <h4><em>Purchase Details</em></h4> <h4>* Basket Type: <select name="basketType" size="0"> <option value="Select a Basket">Select a Basket</option> <option value="1A">1A</option> <option value="1B">1B</option> </select> * Qty: <select name="quantity" size="0"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select></h4> <h4><b>* Deliver To:</b></h4> <!-- Radio buttons are mutually exclusive --> <h4><input type="radio" id="homeDel" name="delAddress" value="homeAddress" checked> Home Address</h4> <h4><input type="radio" id="otherDel" name="delAddress" value="otherAddress"> Other Address</h4> <!-- the following is for the "Other Address option" --> <h3><u>Other Address Details</u></h3> <h4>* Street: <label><input type="text" id="street" size="30"></label> <label id="street_err" style="color:#FF0000; font-style:italic;"></label> <!-- The input field for "state" is a dropdown combo box --> * Suburb/Town: <label><input type="text" id="otherLocation" size="30" ></label> <label id="otherLocation_err" style="color:#FF0000; font-style:italic;"></label></h4> <h4>* State: <select name="state" size="0"> <option value="State">Select the State</option> <option value="ACT">ACT</option> <option value="NSW">NSW</option> </select> * Postcode: <input type="text" id="otherPostcode" maxlength="4" size="4"> <label id="otherPostcode_err" style="color:#FF0000; font-style:italic;"></label></h4> <h4><em><b>* Date Delivery Required</b></em> <select name="delDay" size="0"> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> </select> <select name="delMonth" size="0"> <option value="Jan">Jan</option> <option value="Feb">Feb</option> <option value="Mar">Mar</option> <option value="Apr">Apr</option> </select> <select name="delYear" size="0"> <option value="2012">2012</option> </select></h4> <h5>Would you like to include a card? <input type="checkbox" id="card"> <label id="card_err" style="color:#FF0000; font-style:italic;"></label></h5> <!-- Text box message will only be submitted if checkbox is ticked --> <p>Leave a personal message for the card<br> <textarea name="text" id="cardMessage" rows="5" cols="28"> Enter your message here</textarea></p> <p>***Click on <b>Submit</b> when complete or <b>Clear Form</b> to reset form***</p> <input type="submit" id="submit" value="Submit"> <input type="reset" value="Clear Form" onClick="reset"> </form> </body> </html> hi. i know a little php, but new to javascript. much of the syntax is identical. in reading the new rhino book (flanagan 6th), he gives the following example: Code: var square = function(x) { return x*x; }; okay, but then he does this: Code: square(plus1(y)) as an example of "invoking two functions in one expresson". (Prior he gives an example of defining a function with plus1, which is how I normally think of functions.) uh, square is a *variable*, but he is using it as a FUNCTION. Can somebody help me understand how this can be? how it works? I'm having trouble conceptualizng how we use a variable as a function. Hi I am using a .js with 3 functions in it 1st function getPeriod is to extract the index of a selected list item 2nd function getRadios is to get the value from a selected radio button 3rd function calculateAmount uses if statments and follows a course depending on which index was selected from the list item in the 1st functino ie . 0,1,or 2 The problem is that the index value is unidentified in the 3rd function when i try to use it in the if statement, but the value of the radio button, the variable "cigs" works... I want to know how to allow the index value to work in the 3rd function I know this is a very silly problem but I cant spend any more time trying to figure it out ...code below ...Thanks ! [code] var index = 0; var element = ""; var cigs = 0; // get the selected item in the list with id listId function getPeriod(listId){ // find the index of the selected item index = document.getElementById(listId).selectedIndex; // use the index to access the text of the selected item element = document.getElementById(listId).options[index].text; // put the favorite into the text field document.getElementById('period').value=index; return index; } function getRadios(what){ // get the cigs value j=what.cigs.length; //alert(j) for (i=0; i<j; i++){ if(what.cigs[i].checked) cigs = what.cigs[i].value } what.buttons.value = (cigs) return cigs; } function calculateAmount (){ if (index = 0) { total = (8.5 * cigs * 182); } else if ( index = 1 ) { total = (8.5 * cigs * 365); } else if (index = 2) { total = (8.5 * cigs * 730); } document.getElementById('total').value=total; } [code] ive just started really to develop my javascript out of individual functions and appreciate and help with this. I start outside of the external JS file by: reviews.init(); reviews.initialiseContent('comment'); This loads my data and loads + sets the comment tab as default. My problem is that in the external JS file (shown below) the loadTabs variable will not allow me to pass it a variable: contentDiv.onclick = this.initialiseContent; Whenever I pass a variable here it errors, am I setting this up correctly, should I be using prototype for my this. variables? Interested to hear back on if this structure of code is the right way to go about this and also how I can pass a variable in this way Thanks, Phil Code: var reviews = new reviews(); var xmlhttp; var classArray = Array('comment', 'review', 'video', 'stats', 'add'); function reviews(){ /*--------------------------------------------*/ // Setup tab events, rating and thumb content /*--------------------------------------------*/ this.init = function() { /*--------------------------------------------*/ // Load and display tabs /*--------------------------------------------*/ this.loadTabs(); /*--------------------------------------------*/ // Load and display rating /*--------------------------------------------*/ this.loadRating(); /*--------------------------------------------*/ // Load and display thumbs /*--------------------------------------------*/ this.loadThumbs(); } /*--------------------------------------------*/ // Initialise and populate tab /*--------------------------------------------*/ this.loadTabs = function() { for(key in classArray) { var contentDiv = document.getElementById( 'pp-content-tab-' + classArray[key] ); contentDiv.style.cursor = 'pointer'; contentDiv.onclick = this.initialiseContent; } document.getElementById('pp-content-tab-add').style.visibility = 'hidden'; document.getElementById('add-review').style.cursor = 'pointer'; document.getElementById('add-review').onclick = this.showElement; } this.showElement = function() { document.getElementById('pp-content-tab-add').style.visibility = 'visible'; this.id = 'pp-content-tab-add'; this.initialiseContent; } this.initialiseContent = function( tab ) { if( this.id ) { var tab = this.id.substring( 15 ); } if( !in_array( tab, classArray ) ) { var tab = 'comment'; } for(key in classArray) { if( classArray[key] == tab ) { document.getElementById( 'pp-content-tab-' + classArray[key] ).className = 'pp-tabon'; } else { document.getElementById( 'pp-content-tab-' + classArray[key] ).className = 'pp-taboff'; } } sendrequest( tab, 'loadtab', stateChanged ); } if i have: function someFunction(){ var original = "Original Variable"; anotherFunction(original); } function anotherFuntion(){ /* 1.does the original variable automatically get passed? 2. will var transformed = original + "Transformed" give me a result of "Original Variable Transformed"? 3. Or does it have to be declared in the function: anotherFunction(original) */ } thanks for any help hi, I am building a web app, I have a list of towns and a list of counties as you can see he http://www.mypubspace.com/mobile/#home (best viewed in Safari) What I would like to do is to pass through the Town value as a variable and then change my SQL query based on which town is selected here is the code Code: <!doctype html> <?php include "../config.php"; $loggedIn = (isset($_COOKIE['loggedin']) && $_COOKIE['loggedin'] == 'true')?true:false; $query1 = "SELECT DISTINCT rsTown FROM pubs ORDER BY rsTown asc"; $result = mysql_query($query1); $town = $_REQUEST['RSTOWN']; $townpubs = mysql_query("SELECT * FROM pubs WHERE RSTOWN = ".$town." ORDER BY RSTOWN ASC"); $towns = mysql_query("SELECT DISTINCT RSTOWN, COUNT(PUBID) As PubCount FROM pubs GROUP BY RSTOWN ORDER BY RSTOWN ASC"); $counties = mysql_query("SELECT DISTINCT RSCOUNTY, COUNT(PUBID) As PubCount1 FROM pubs GROUP BY RSCOUNTY ORDER BY RSCOUNTY ASC"); ?> <html> <head> <meta charset="UTF-8" /> <title>My Pub Space v1.0 β</title> <style type="text/css" media="screen">@import "jqtouch/jqtouch.min.css";</style> <style type="text/css" media="screen">@import "themes/jqt/theme.min.css";</style> <script src="jqtouch/jquery.1.3.2.min.js" type="text/javascript" charset="utf-8"></script> <script src="jqtouch/jqtouch.min.js" type="application/x-javascript" charset="utf-8"></script> <script type="text/javascript" charset="utf-8"> var jQT = new $.jQTouch({ icon: 'jqtouch.png', addGlossToIcon: false, startupScreen: 'jqt_startup.png', statusBar: 'black', preloadImages: [ 'themes/jqt/img/back_button.png', 'themes/jqt/img/back_button_clicked.png', 'themes/jqt/img/button_clicked.png', 'themes/jqt/img/grayButton.png', 'themes/jqt/img/whiteButton.png', 'themes/jqt/img/loading.gif' ] }); </script> </head> <body> <div id="about" class="selectable"> <p><img src="jqtouch.png" /></p> <p><strong>My Pub Space</strong><br />Version 1.0 beta<br /> <a href="http://www.jbiddulph.com" rel="nofollow" target="_blank">By John Biddulph</a></p> <p><em>Mobile Web Development</em></p> <p><a href="mailto:xxxxx@gmail.com" rel="nofollow" target="_blank">E-mail</a></p> <p><a href="http://twitter.com/#!/jmbiddulph" rel="nofollow" target="_blank">@jmbiddulph on Twitter</a></p> <p><br /><br /><a href="#" class="grayButton goback">Close</a></p> </div> <div id="home" class="current"> <?php if (!$loggedIn){ ?> <div class="toolbar"> <h1>My Pub Space</h1> <a href="#about" id="infoButton" class="button slideup">About</a> </div> <ul class="rounded"> <li class="forward"><a href="#signup">Sign up (FREE!)</a></li> <li class="forward"><a href="#login">Login</a></li> <li class="forward"><a href="#towns">View pubs by town</a></li> <li class="forward"><a href="#counties">View pubs by county</a></li> </ul> <div class="info"> <p>All Rights Reserved © 2011 mypubspace.com Created by: jbiddulph.com</p> </div> <?php } else { ?> <div class="toolbar"> <h1>Welcome <?php echo $_SESSION['s_username'];?></h1> <a href="dologoff.php" rel="external" class="button">Logout</a> </div> <ul class="rounded"> <li class="forward"><a href="#towns">View Towns</a></li> <li class="forward"><a href="#counties">View Counties</a></li> </ul> <div class="info"> <p>All Rights Reserved © 2011 mypubspace.com Created by: jbiddulph.com</p> </div> <?php } ?> </div> <!-- TOWNS --> <div id="towns"> <div class="toolbar"> <h1>View Towns</h1> <a class="back" href="#home">Back</a> </div> <ul class="edgetoedge"> <?php while($row1 = mysql_fetch_array($towns)) { echo '<li class="forward"><a href="#townpubs-?RSTOWN='.$row1['RSTOWN'].'" rel="external">'.$row1['RSTOWN'].'<small class="listcounter">'.$row1['PubCount'].'</small></a></li>'; } ?> </ul> </div> <div id="townspubs"> <div class="toolbar"> <h1>Pubs in <?php echo $town ?></h1> <a class="back" href="#home">Back</a> </div> <ul class="edgetoedge"> <?php while($row1 = mysql_fetch_array($towns)) { echo '<li class="forward">'.$row1['rsPubName'].'</li>'; } ?> </ul> </div> <!-- COUNTIES --> <div id="counties"> <div class="toolbar"> <h1>View Counties</h1> <a class="back" href="#home">Back</a> </div> <ul class="edgetoedge"> <?php while($row1 = mysql_fetch_array($counties)) { echo '<li class="forward"><a href="countypubs.php&rsCounty='.$row1['rsCounty'].'" rel="external">'.$row1['RSCOUNTY'].'<small class="listcounter">'.$row1['PubCount1'].'</small></a></li>'; } ?> </ul> </div> <div id="countypubs"> <div class="toolbar"> <h1>View Counties</h1> <a class="back" href="#home">Back</a> </div> <ul class="edgetoedge"> <?php while($row3 = mysql_fetch_array($county_pubs)) { echo '<li class="forward"><a href="#countypubs&rsCounty='.$row3['rsCounty'].'">'.$row3['RSPUBNAME'].'</a></li>'; } ?> </ul> </div> <form id="login" action="dologin.php" method="POST" class="form"> <div class="toolbar"> <h1>Login</h1> <a class="back" href="#">Back</a> </div> <ul class="rounded"> <li><input type="text" name="rsUser" value="" placeholder="Username" /></li> <li><input type="Password" name="rsPass" value="" placeholder="Password" /></li> </ul> <a style="margin:0 10px;color:rgba(0,0,0,.9)" href="#" class="submit whiteButton">Submit</a> </form> <form id="signup" action="dosignup.php" method="POST" class="form"> <div class="toolbar"> <h1>Sign up</h1> <a class="back" href="#">Back</a> </div> <ul class="rounded"> <li><select name="rsTown" class="postcodedrop"> <option value="">Choose your Town...</option> <?PHP while($row = mysql_fetch_array($result)) { echo '<option value="'.$row['rsTown'].'">'; echo $row['rsTown']; echo '</option>'; }?> </select></li> <li><input type="Password" name="rsPass" value="" placeholder="Password" /></li> </ul> <a style="margin:0 10px;color:rgba(0,0,0,.9)" href="#" class="submit whiteButton">Submit</a> </form> </body> </html> Please help! Hi, I hope someone can help me! I have a list of buttons, each with a different id which is taken from the ids of these values from the database. When I click one of the buttons it shows the items that correspond to this id in the database. Therefore, when different buttons are clicked the display changes to match the objects relating to this particular button. When a button is clicked, this shows various other objects which I can then select (using a checkbox). When a checkbox is clicked, a Javascript function is called to change the html text next to the appropriate button. However, I can't get this to work as I need to pass the id of the button, and the html span, to the Javascript in order to change the correct text. Here is my Javascript : Code: function questionnum(checkbox) { if(checkbox.checked) { var qdesNumElement = document.getElementById('<?php echo $q;?>'); var qdesNum = qdesNumElement.innerHTML; qdesNumElement.innerHTML = ++qdesNum; } This code only gets the last button. Please help. I recently started designing websites, I'm pretty good with working in the design area of expertise. However I am not so great at the development part. I have had little to no experience with java programming. I am putting e commerce on my clients site. He is selling an item that varies in price depending on what size it is. What I am trying to do is have a input for the length and the width and then display the price. I have configured the length and width to multiply and can display the total but I don't know what the if then statement would look like for the price. So lets say the user puts in 4 length and 4 width. I can display 16. But I want to take that and say if =16 then display $21.50 or whatever the cost would be. But I cannot figure out how to code it right for the if then part and then the display part. I am very new to java programming and think i might be a little out of my league with this project but any help you can offer would be great. thank you.
Hi, There are different ways by which values of variables can be passed between forms. One of the ways is to use the setTimeout to pass the values or data. Here the biggest advantage is we can pass data to a different site even running automatically. I would need from someone a bit of help to pass the variable links from form1 to variable strLink in form2 using SetTimeout. We have the following schema: An options select menu where value of the option, sent with a submitted form, is specified with the value attribute. In the absence of a VALUE attribute, the value is the content of the option element. Quote: <html> <head> </head> <body> <form name="form1" method="get" > <select name="links"> <OPTION VALUE="http://www.as.com/">El Mundo <OPTION VALUE="http://www.atb.com.bo/">El Pais <OPTION VALUE="http://www.cadenadial.com/">Bizgrok <OPTION VALUE="http://www.cadenaser.com/">Eclab <OPTION VALUE="http://elsa.berkeley.edu/">Elsa <OPTION VALUE="http://www.caracol.com.co/">Factfinder <OPTION VALUE="http://fairmodel.econ.yale.edu/">Fairmodel <OPTION VALUE="http://www.cincodias.com/">Village <OPTION VALUE="http://www.continental.com.ar/">Levine <OPTION VALUE="http://www.literature.org/">Literature.org <OPTION VALUE="http://www.literatura.org/Gusman/frasquito.html">Frasquito <OPTION VALUE="http://www.literatura.org/Gusman/villa1.html">Villa <OPTION VALUE="http://www.literatura.org/Gusman/lgcrific.html">Mapa <OPTION VALUE="http://www.literatura.org/Gusman/lgcrific.html">Mapa </select> </form> Timing events. We are executing some code after a specified time-interval. Quote: <script> setTimeout('document.form1.links.value = document.form2.strLink.value',2000); </script> You can see in the below case the values can be posted to another form. Quote: <form name=form2 method=post action="convertx.asp"> <input type="text" name="strLink"> <input type="submit" name="btnSubmit" value="Show"> </form> By post method of form submission we can automatically send more number or length of data using SetTimeout. Quote: <script type="text/javascript" language="JavaScript"> btnsubmit = document.form2.submit(); setTimeout('btnsubmit',2000); </script> Quote: </body> </html> Any help will be much appreciated! Just he! I am developing a site that adds multiple dynamic buttons. I would be ideal if the event these buttons trigger could pass a 'variable' (the passed variable is constant with respect to each button). My attempt... myButton.setAttribute("onClick", "myFunction(" + myVar +")"); ...doesn't seem to work. Can anyone help out? Hi, I am quite new to javascript but I'm quite sure this problem is very easy to solve. I have a vague idea of what might be going wrong but I have no idea what I should be doing instead. Here is what I'm trying to do: User inputs X and Y coordinates into form validate that they are numbers do a little bit of maths redirect to a php script with a single variable tacked onto the end of the url Here is the form code: Code: //part of a larger php script to make the form echo "<form name='gotoForm' onsubmit='return coordCalc()'> <fieldset> <legend>Go to Square</legend> X <input type='text' id='X' size='1' maxlength='3'/> Y <input type='text' id='Y' size='1' maxlength='3'/> <input type='submit' value='Go To' /> </fieldset> </form> "; which references these functions in the header: Code: //Is it a number function isNumeric(elem, helperMsg){ var numericExpression = /^[0-9]+$/; if(elem.value.match(numericExpression)){ return true; }else{ alert(helperMsg); elem.focus(); return false; } } //deal with the input, check if they are both numbers with the above function //if they are do some maths on the input //add the result onto a url and redirect function coordCalc (){ var Xcoord = document.getElementById('X'); var Ycoord = document.getElementById('Y'); if(isNumeric(Xcoord, "Please enter a Number for X")){ if(isNumeric(Ycoord, "Please enter a Number for Y")){ //Takes the X and Y coordinates and transforms them into a single number //not fully coded in case you try putting some numbers into the formula btw :) var X = parseInt(document.getElementById('X').value); var Y = parseInt(document.getElementById('Y').value); var G = 16; var Z = (((G + 1) - Y) - Y); var A = (Y + Z); var B = (X - 1); var L = ((A * (G - 1)) + B); window.location = "map.php?start=" + L; } } return false; } The number validation works but the url ends up as map.php?start=NaN. Now, this simply must be the way I am assigning the Xcoord and Ycoord variables with the document.getElementByID() function I am sure. But like I said, I have no idea what to do instead, any help is massively appreciated. Thankyou! I'm new to javascript and have come across what I'm sure its a really easy problem to solve. I want a page with a hyperlink that passes a variable to another 'pop-up' page (in this case a name, its just an example) and new pop-up page prints a message followed by the variable thats passed. Here is the code as it is right now Code: <html> <head> <script language="javascript" type="text/javascript"> function popitup(a) { var reply = 'a'; newwindow=window.open('','name','height=200,width=150'); var tmp = newwindow.document; tmp.write('<html><head><title>popup</title>'); tmp.write('</head><body><p>"Hello there" + reply </p>'); tmp.write('<p><a href="javascript:self.close()">close</a> the popup.</p>'); tmp.write('</body></html>'); tmp.close(); } </script> </head> <body> <a href="testpopup.html" onclick="popitup('Toby')" >Link to popup</a> </body> </html> In short, I just want the pop-up page to print 'Hello there Toby' or whatever name I choose to pass across. Any help much appreciated!! The 'testpopup.html' url is just the initial webpage. Hi all, I'm quite new to Javascript, and I'm stuck with a problem here. I have a website, I won't go in to detail, but it generates some javascript code for the user. Well, that's the idea. The user puts this javascript on his or her website. Now everytime the page with that javascript is loaded, a page on my server is called, and is supposed to display something on the place of the javascript of that website. I however have not the slightest clue how to do this. The script on my server has to get some values from a database (I'll be doing this with php). Therefore are some variables needed, like ID's. Those are put in the javascript at the website of that person. (I know they could just change it, but that'd only disadvantage them) And example of the code the person with the website would get is this: (This was also generated on user basis somewhere, which does about the same thing) Code: <script language="javascript" type="text/javascript" charset="utf-8"> var border = '#000000'; id = 1337; </script> <script language="JavaScript" type="text/javascript" src="http://somesite.com/scriptname.php"> </script> If you don't understand what I'm trying to do here, please ask, because I might not've explained it clear enough. Thanks, lordstyx. [edit] Someone said to look in the direction of XMLHttpRequest. I don't really know what that is, but I'll try and find a bit more info about it. I have a concatenated list of posts like this: Code: <?php // this generates a list of divs with unique id's as $post_id's $my_posts .= ' <div class="storypost' . $post_id . '"> <a href="mystorypost.php?id=' . $post_id . '>' . $member_name . ' Post</a> <a href="#" onclick="DoAction(' . $mem_id . ', ' . $post_id . ');">Remove?</a> </div> '; ?> And here is the javascript/ajax, which sends the variables to the _removepost.php, in order to run that code, and delete the post from the database... Code: <script> function DoAction(mem_id, post_id) { var r = confirm('Are you sure you want to remove this post?'); if (r == true) { $.ajax({ type: "GET", url: "_removepost.php", data: "mem_id=" + mem_id + "&post_id=" + post_id, }); $(".storypost"+post_id).hide(); return false; } else { return; } } </script> So, the thing actually works (the post gets deleted from the database). But what does not work, is: 1) the div is not getting hidden via the .hide() 2) after I click the onClick link, the page scrolls back to the top of the page... and I have to end up reloading the page to see the change. I believe there is something wrong with where I placed the "return false;" and something wrong with how I call the variable in .hide(). First off I didn't know whether to post this here or in the PHP section since it deals with both, but mostly JS. I have a PHP scraper that scrapes the job title, company name and location from a website and stores them in separate arrays. These values are then extracted out one at a time from the array and stored into a string, that is then passed to a Google Maps API. I can make this successfully happen once, the thing is I need to do it multiple times. I have an idea on what I should do but don't really know how to implement it (correctly). The idea I had was to create a function in the JavaScript section that accepts three values from PHP. This function would be called in my PHP for loop that extracts the values from the array into a string. The thing that confuses me is that the Map function is called via <body onLoad="initialize()">. Here's the link to my code Afternoon All, I have managed to secure some JavaScript code from another site that allows me to access values from within my Google Analytics cookie: <!-- begin Referer Check --> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write("<script src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'>" + "</sc" + "ript>"); </script> <script type='text/javascript'> var pageTracker = _gat._getTracker("UA-1-1"); pageTracker._trackPageview(); // // This is a function that I "borrowed" from the urchin.js file. // It parses a string and returns a value. I used it to get // data from the __utmz cookie // function _uGC(l,n,s) { if (!l || l=="" || !n || n=="" || !s || s=="") return "-"; var i,i2,i3,c="-"; i=l.indexOf(n); i3=n.indexOf("=")+1; if (i > -1) { i2=l.indexOf(s,i); if (i2 < 0) { i2=l.length; } c=l.substring((i+i3),i2); } return c; } // // Get the __utmz cookie value. This is the cookies that // stores all campaign information. // var z = _uGC(document.cookie, '__utmz=', ';'); // // The cookie has a number of name-value pairs. // Each identifies an aspect of the campaign. // // utmcsr = campaign source // utmcmd = campaign medium // utmctr = campaign term (keyword) // utmcct = campaign content // utmccn = campaign name // utmgclid = unique identifier used when AdWords auto tagging is enabled // // This is very basic code. It separates the campaign-tracking cookie // and populates a variable with each piece of campaign info. // var source = _uGC(z, 'utmcsr=', '|'); var medium = _uGC(z, 'utmcmd=', '|'); var term = _uGC(z, 'utmctr=', '|'); var content = _uGC(z, 'utmcct=', '|'); var campaign = _uGC(z, 'utmccn=', '|'); var gclid = _uGC(z, 'utmgclid=', '|'); // // The gclid is ONLY present when auto tagging has been enabled. // All other variables, except the term variable, will be '(not set)'. // Because the gclid is only present for Google AdWords we can // populate some other variables that would normally // be left blank. // if (gclid !="-") { source = 'google'; medium = 'cpc'; } // Data from the custom segmentation cookie can also be passed // back to your server via a hidden form field var csegment = _uGC(document.cookie, '__utmv=', ';'); if (csegment != '-') { var csegmentex = /[1-9]*?\.(.*)/; csegment = csegment.match(csegmentex); csegment = csegment[1]; } else { csegment = '(not set)'; } // // One more bonus piece of information. // We're going to extract the number of visits that the visitor // has generated. It's also stored in a cookie, the __utma cookis // var a = _uGC(document.cookie, '__utma=', ';'); var aParts = a.split("."); var nVisits = aParts[5]; /* function populateHiddenFields(f) { f.source.value = source; f.medium.value = medium; f.term.value = term; f.content.value = content; f.campaign.value = campaign; f.segment.value = csegment; f.numVisits.value = nVisits; alert('source='+f.source.value); alert('medium='+f.medium.value); alert('term='+f.term.value); alert('content='+f.content.value); alert('campaign='+f.campaign.value); alert('custom segment='+f.segment.value); alert('number of visits='+f.numVisits.value); return false; } */ document.forms["cforms2"].elements["cf2_field_1"].value = source; </script> The key outputs from this code are the vars: source medium term content campaign csegment nVisits My question is, how can I get the source var into the hidden field in the form in my footer http://www.yogaholidays.co? I have tried to pass just the source var from within the <script> tags. document.forms["cforms2"].elements["cf2_field_1"].value = source; I have commented out part of original code that I did not think I needed. Any help that can be offered I would be grateful, ultimately I would like to be able to pass all these values to hidden fields. Thanks Paul Brown Here is the program: http://www.1728.com/newwindow.htm Basically, I want to input a number in the input box, which assigns a number to the variable numval located at document.box1.b1. When clicking on the "new window" button, an alert displays the input box value, then another window opens and displays the integers 1 through 12 and the amount squared. I would like the new window to obtain the number from the previous window so that the new window will display integers (and their squares) from 1 to the value of numval. |