Side navigation
#7525 closed bug (worksforme)
Opened November 15, 2010 10:19PM UTC
Closed December 01, 2010 05:42PM UTC
Last modified March 13, 2012 05:08PM UTC
j is null
Reported by: | anonymous | Owned by: | anonymous |
---|---|---|---|
Priority: | undecided | Milestone: | 1.5 |
Component: | unfiled | Version: | 1.4.4 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
j is null
[Break on this error] - FireBug:
l.test(j)){var s=t.getElementsByTagNam...else if(K)for(z in j){if(s.call(j[z],
Attachments (0)
Change History (10)
Changed November 15, 2010 10:32PM UTC by comment:1
owner: | → anonymous |
---|---|
status: | new → pending |
Changed November 18, 2010 12:51PM UTC by comment:2
Hello,
I had same problem, because I create a form on the fly. It seems to me, that this problem is caused by a text area removed from HTML source, but not removed from tinyMCE sources. I found a forum entry about removing: http://tinymce.moxiecode.com/punbb/viewtopic.php?id=17346 . It works for me.
Bye,
Laszlo Solova
Changed December 01, 2010 05:42PM UTC by comment:3
resolution: | → worksforme |
---|---|
status: | pending → closed |
Closing as no reproducible test case has been provided, despite request. Please feel free to re-open should a valid test case become available
Changed December 01, 2010 06:15PM UTC by comment:4
Additionally, please test with a non-minified copy of the source, as this:
[Break on this error] - FireBug: l.test(j)){var s=t.getElementsByTagNam...else if(K)for(z in j){if(s.call(j[z],
...is meaningless.
Changed December 01, 2010 07:52PM UTC by comment:5
Please refer to http://fixingthesejquery.com/#slide47
Changed December 21, 2010 05:01PM UTC by comment:6
_comment0: | I think he problem is that jquery is being called twice... \ i made a little test writing twice the script declaration of jquery import \ <script ...></script> → 1292951081218198 |
---|---|
_comment1: | I think the problem is that jquery is being called twice in the same page... \ i made a little test writing twice the script declaration of jquery import \ <script ...></script> → 1292962729688073 |
I did some tests using jquery in my apps, using 3 web browsers (ie, firefox, chrome) and, when it happen to me, i found that a variable used in jquery.each function has value 'null'. for solve, I checked every .each call i used.
the result: one of the variables used in the each (that is a json array) was null.
solution (at least for my case): check for the null variable and ensure that it wont happen again (in jquery.each - ensure that arrays used in wont be null).
regards,
Changed July 10, 2011 12:07AM UTC by comment:7
I agree with escamosomix. I had a similar case. What I did was called two ajax functions to get some json data into two separate array of objects. Then, below these two ajax functions was a simple function that used these two arrays to manipulate a third array using $.each() which would pass through each element of array 1 and array 2. The problem was that the third function would attempt to manipulate the arrays before the ajax functions returned values to them. So, null values passed to $.each and this error popped up.
How did I find this out?
Well, this error would only show up while running application, and not in debug mode. Because in debug mode, I would be using breakpoints and it would provide sufficient time for the ajax functions to calculate the values for this function to use these values.
Solution:
The problem states itself clearly. I called the second ajax function in the success option of the first, and the third normal function in the success option of the second so that these functions get called one after another, and not concurrently. Problem solved !! (At least for me).
Changed July 10, 2011 03:07AM UTC by comment:8
I've just read through this entire thread and I'm pretty sure that 3 different issues are being discussed. With regard to the most recent comment by imaginesamant: It sounds like you're trying to do synchronous operations on asynchronously created data - you need to use the returned deferred object of $.ajax and pass it to $.when( deferred, deferred, deferred ).then(function() { //do this stuff when the async deferreds are _all_ resolved })
Changed July 22, 2011 07:37AM UTC by comment:9
imaginesamant@… is right.
Changed February 08, 2012 09:21PM UTC by comment:10
I had this problem and solved it thanks to the post by escamosomix. Just thought I'd add a code fragment to help out anyone who is still floundering:
// Get new messages in forum function forumRefresh() { // Script that returns JSON or null var url = "forum_refresh.php"; // Run script $.getJSON(url, function(data) { // Catch null data error... if (data == null) return; // Now that data != null, the $.each call is okay! $.each(data, function() { }); });
Note: ideally, jQuery should give better feedback than "j is null" or just ignore the null value.
Please submit a valid test case that reproduces the issue you are experiencing (ideally on jsFiddle) so that we can investigate this issue further.