I'm doing something with grails + jquery. My controller send a rendered json (which I know is sending correctly) but when the object "arrives" in the callback method it comes undefined. I can see it lenght, but not it's content.
I am using getJSON to get results from a different domain and i wantedto get _some_ object back when calling getJSON so that i can insertsome variables into the callback scope.Basically, what i wanted to do was this:
var new_json = $.getJSON(url, function(data) { alert (this.variable_from_caller);
I have a homework assignment which is pretty simple. It is a grade calculator that uses arrays to gather the grades from the user. This is what I have for the problematic section:
var homework = new Array(2);/* The grades entered by the user for Homework 1, 2, and 3 */ var project = new Array (3);/* The grades entered by the user for Project 1, 2, 3, and 4 */
[Code].....
My problem is the document.write portion of the code, where it is supposed to return either homework[0], project [0], or exam[0], it instead returns undefined. There is no problem with any other subscript. And yes, it does successfully prompt me for each of the [0] subscripts in the first part of the code. Am I just missing something that is right in front of my face? Does all arrays not start with the [0] subscript?
Suppose we have following javascript codes: Case 1. var foo = function (){ var x = "hello"; var bar = function () { alert(x); } return bar; } var bar_ref= foo(); document.write(bar_ref()); // it pops up "hello" and print-outs "undefined".
If we modified above code slightly, shown as follow: Case 2. var foo = function (){ var x = "hello"; var bar = function () { alert(x); } return bar(); } var bar_ref= foo(); document.write(bar_ref()); // it only pops up "hello".
As you can see, Case 2 modified the return value from "return bar" to "return bar()," which won't cause the "undefined" output. To me, it looks like when the JS interpreter executes the line "bar_ref();" it triggers the execution of function "foo", besides both "return bar" and "return bar()" do the same job which is to execute function body of "bar".
The only difference is that after the execution of function bar, its function body does not exist anymore, so when the interpreter executes the line "return bar;" it follows the function identifier "bar" and ends up with "undefined". This is why the Case 1 gives us "undefined", but I am not quite clear about why the Case 2 can trace down to the function body of "bar". Do you have any ideas about such difference outputs?
I am trying to access the width variable from my main page. Within the imageinfo.js script functions I can alert() the width value which returns 1024. But I can't seem to pass this variable to my main page or access it directly so that I can use document.write() to write the variable on the page. Whenever I try to call the 'width' variable directly from the main page I get undefined. How can I access this variable? However, with the test code below, I was able to get ducument.write() to write the 'width' variable on the page but now the page doesn't stop loading - there's an endless loop in the code...
Here is a code I use to calculate distance b//w 2 places using google api. It works perfectly and shows the results in the html but when I add a return statement at the end of the function showlocation() it returns undefined.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "[URL]"> <html xmlns="[URL]"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> <meta name="robots" content="noindex,follow" /> <title>Calculate driving distance with Google Maps API</title> <script src="[URL]" type="text/javascript"></script> <!-- According to the Google Maps API Terms of Service you are required display a Google map when using the Google Maps API. see: [URL] --> <script type="text/javascript"> var geocoder, location1,addr1,addr2, location2, result1,gDir; function coolAl(add1,add2) { addr1=add1; addr2=add2; var result= return initialize(); showLocation(); alert(result); } function initialize() { geocoder = new GClientGeocoder(); gDir = new GDirections(); GEvent.addListener(gDir, "load", function() { var drivingDistanceMiles = gDir.getDistance().meters / 1609.344; var drivingDistanceKilometers = gDir.getDistance().meters / 1000; result1=location1.address + ' (' + location1.lat + ':' + location1.lon + ')/' + location2.address + ' (' + location2.lat + ':' + location2.lon + ')/' + drivingDistanceKilometers + ' kilometers'; document.body.innerHTML=result1; return drivingDistanceKilometers; }); } function showLocation() { geocoder.getLocations(addr1, function (response) { if (!response || response.Status.code != 200) { alert("Sorry, we were unable to geocode the first address"); } else { location1 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address}; geocoder.getLocations(addr2, function (response) { if (!response || response.Status.code != 200) { alert("Sorry, we were unable to geocode the second address"); } else { location2 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address}; gDir.load('from: ' + location1.address + ' to: ' + location2.address); }});}});} </script></head> <body onload="coolAl('pune','mumbai')"> </html>
Since upgrading from 1.4.x to 1.6.1 all the code that selects the contents of an XML attribute by the name of 'value' has stopped working. Upon investigation, any time you do
$(someXMLObject).attr("value")
now always returns 'undefined'. This worked fine in previous versions and currently is preventing us from upgrading. I know the obvious solution would be to change the attribute name from 'value' to something else, but this would require some real effort on our part as a lot of our front end code is assuming an attribute of 'value' be passed in.
My question is, is this bug likely to be fixed in a forthcoming release of JQuery or should we implement the necessary workarounds on the assumption that this isn't being worked on?
I have come across an issue that only happens with IE.I have a custom save function that is designed to handle different ajax submits but I will simplify it for debugging. The issue is that once I make a submit everthing is fine at first. Then once I try to submit a second time it craps out. I am checking to see if there is an onsubmit function and then executing it like so before continuing. After the inital submit it is no longer found. When I alert the typeof document on the form it returns object but when I add the onsubmit it says object expected or object is null or undefined.
Code:
function secureBarSubmit(formId) { alert(typeof document.getElementById(formId)); // object always alert(typeof document.getElementById(formId).onsubmit); // func first time then it is broken
This routine used to work when I was using jQuery 1.3.2. Now that I've switched to 1.4.2 it fails. I've verified that returning to 1.3.2 fixes the problem.
I have a page which includes this select pulldown:
function show() { var s = '' ; for (var i = 0; i<arguments.length; s += ' '+arguments[i++]) ; typeof(window) != 'undefined' ? window.alert(s) : WScript.Echo(s) ; }
function f(){} show('delete(f):',delete(f)) ; // false
I have an object: Myobject and properties for the object: Myobject.color, Myobject.width, Myobject.height The scripts returns TRUE if I query Myobject.color or Myobject.width etc. I want to loop through de properties like so:
Code: var properties = ['color', 'width', 'height'] for (var i=0; i<properties.length; i++) { Myobject.properties[i]; // Returns UNDEFINED }
Either I'm having a really dim Friday, or something strange is going on. I'm trying to add a method to the Validator plugin, using the following regex:
I am confused about what the return keyword is actually returning when returning an object, a primitive, or a function. My confusion is compounded by the fact that I'm not sure if a function is an object or not. According to the book JavaScript Programmer Reference it is: "All functions in JavaScript are first class objects , meaning they can be passed around like any other object reference. In fact, regardless of how they are created, functions are instances of a global object named (aptly) Function."
However, someone else states that a function is not an object. An object is a set of primitives and references. A function is executable code. Functions become objects through the use of the new operator. Yet, in the book I mentioned, it says you don't need the new keyword to execute the function as an object, as it already inherits from the object Function when the function keyword is used:
function functionName([argname1 [, ...[, argnameN]]]) { statements; }
So there's one source of contradiction. Now the bigger issue is what is going on when the return keyword is used. Notice the Validation() function returns an object as its last expression. This technique is common, where you return an object which contains functions in form of object notation. I believe this is done so that we create a closure so that when the intepreter exits the Validation() method, since we created a closure by returning an object, which contains the inner functions addRule and getRule, the local variables of Validation() are not destroyed, given that we can reference them through the two inner functions that make use of the local variables of the outer function. So when we use the return keyword on an object literal, and then exit the function, when we call one of the inner functions as we do later:
I am getting an error to a mysql_query() call: Access denied for user 'SYSTEM'@'localhost' (using password: NO)' in path 'C:PHPClassesMySQLDbClass.php' at line 1078 This is coming from using a XML HTTP Request object (AJAX) to send form data to the server requesting my DB records interface script page, ajaxRecordsInterface.php. In using PHP sessions, I have no problem going from a logged-in-select-activity PHP document to an activity controlled by a PHP document that does records interface. But apparently an XML HTTP Request object has a different session than a PHPdoc-2-PHPdoc session. Is that so?
Here is MORE DETAIL: I am building first a version of a web-based database interaction using MySQL that does not use page reloads, so that means I am using Ajax/XML HTTP request object/Javascript (later I build the version that does script-free page reloads to show db updates/refreshes). I have no problem with login whose first PHP document gets user information and presents it, as well as a menu of links to how to interact with the DB. One of the options is to add/edit/delete student records.
In the PHP document which is the DB records interface, I have a scrollable HTML table at the document top with one table row for each record. Below it is an empty form, whose fields get populated when the user clicking on a record in a table row. Note that all fields for the records in the table rows were delivered as a Javascript array with a maximum of 50 or a 100 contiguous records in the MySQL table. (More optimizations may be done later, such as creating a Javascript array as a "cache" of the last 20 or so selected records.) I don't have problems making mysql_query() calls in a series of PHP document requests. I call session_start() to get session variables, one of which is a serialized MySQLDatabase class object which I unserialize to get the object again. The problem is the XML HTTP Request to a PHP document designed to interact with it is a different PHP session from a page-to-page session.
Its an AJAX script which create mulitple choice dropdown boxes connected to a database. the Javascript works great on both FF and IE. However, in IE i get the irritating error code: