Javascript function not getting called. Firebug shows reference error - javascript

I am writing a form and trying to call a javascript function
<form onSubmit="$('<%$containerName%>').update(''); submitForReinstate(this, $('<%$containerName%>')); return false;">
but when I run this, FireBug shows "ReferenceError: submitForReinstate is not defined". But this function is defined in some other file. Do I need to link both the files in some manner?
Can anyone please give me a pointer as to how to solve this?
I searched thoroughly on google but couldn't find the answer.

"But this function is defined in some other file. Do I need to link both the files in some manner?"
Yes. Assuming the first file contains html, which yours seems to given the <form> element you show, you include a reference to the second file within the first. The second file would need to contain just JavaScript (no <script> tags), and then in the main file add this:
<script src="nameofotherfile.js"></script>
If the file isn't in the same directory include an appropriate path in the src attribute.
The two most common places to add <script> elements are within the <head> section or just before the closing </body> tag.

Related

My script src in HTML is not calling and activating my javascript file successfully

<!-- Custom JavaScript file -->
<scrpit src="./js/main.js"></scrpit>
If I press control+click on this src name, i go successfully to javascript file that i want to activate (which should mean that I have wrote the file's name and place well enough), but when i open the html page the functions in the script do not work.
To check if the problem is within the js code, i went and copied the js code inside the the html file, which worked properly.
But why wouldnt it work when i put it in a separate js file and call the file in the manner above?
I think there is a typo in your code.
Your code:
<scrpit src="./js/main.js"></scrpit>
Try to use this:
<script src="./js/main.js"></script>

Using JQuery 1st Time

I'm referencing it as it says on w3schools and this website
<head>
<script>
src = 'C:\path...\jquery-1.11.3.js';
$(document).ready(function() {
$("p").click(function() {
$(this).hide();
});
});
</script>
</head>
<body>
<p>If you click on me, I will disappear.</p>
<p>Click me away!</p>
<p>Click me too!</p>
</body>
I compile and open on chrome but when I click any of those 3 messages they don't disappear =P
External scripts are loaded with the src attribute, like this
<script src='jquery-1.11.3.js'></script>
The path to the file should be referenced using paths relative to the root of your application, not the map structure of your system.
Put the src tag in the script tag:
<script scr="C:\path...\jquery-1.11.3.js">
P.S. Always use double qoutes!
P.P.S. If you still can't figure it out, go to the console and look for any errors.
Also: prepare to get very familiar with the "Developer" tab in your browser ... particularly the "JavaScript console." When a JS program encounters any sort of error, the browser's usual response is to "simply stop ... silently." And, if there's any sort of syntax-error, to "silently" issue a warning or error message to the JavaScript console (which ordinary users never see).
Any of these things can produce the result that you now see, namely: "nothing happens."
It can be quite frustrating, really . . .
The problem was in the path, not sure if any of the answers above because what I did was copy paste what they had and tried it without my messy code, and it worked. Then I linked the online Jquery library as oppose to linking what I had in the folder and it worked, then I fixed the path I had. Maybe it was the quotes, not sure now. Thanks anyways. (I wasn't getting errors below in the debugger box =P)

How to include an external javascript file when using ExtJs?

I'm using ExtJs 4.2.2 and included all necessary js and css files, and my codes work just fine, ONLY IF I write my code into script tags within my html file. When I try to put these code into another file with .js extension and include it between head tags properly, it returns nothing. I'm sure I've included my js file properly because when I fill it with standard js codes, I get results. But with ExtJS syntax, the same code which return results within script tags, returns nothing. How? Do I miss something?
The following two are equivalent. If one works, the others work, too, regardless of what js code you use:
(Ex 1.)
<html><head>
<script>//your js code here</script>
</head><body>
</body></html>
and
(Ex 2.)
<html><head>
<script src="jscode.js"></script>
</head><body>
</body></html>
where jscode.js contains
// your js code here
Furthermore, the following two are equivalent:
(Ex 3.)
<html><head>
</head><body>
<script>//your js code here</script>
</body></html>
and
(Ex 4.)
<html><head>
</head><body>
<script src="jscode.js"></script>
</body></html>
NOTHING will change in behaviour.
I think (but you didnt post ANY code at all, so it's jsut guessing) that you had Example 3 working, but changed to Example 2. But only 3 and 4 are equivalent! And now you call that ExtJS fault!
You are executing code in an onLoad event or a Load event, perhaps like:
$(window).load(function() {
$('p').css('');
})
Remove this section and use only this in the javascript file and include it in a <Head> section:
$('p').css('');
When you are coding in html, then it execute steps one by one. But when we use a separate file then it executes it slower than HTML code.
I think I can use those technique mentioned on the top.
I am sure it will work.

Linking to javascript opens code instead of actual program

This might be a simple question to many of you but any help would be actually appreciated
<li>rpsgame</li>
I am trying to link a tab to a cool simple game I made on Javascript, but it is opening in code instead of the actual program
My program name is rpsgame.js
Why is this happening ? what wrong did I do ?
Thank you so much
P.S: I'm new here!
What you need to do is link the js file using the script tag.
Here's how to do it:
<script src="rpsgame.js" type="text/javascript"></script>
After you do that, when the user clicks on the tab, load using ajax the view you created above and thats it!
Javascript files are actually plain text, so you're only linking to a page of text. A few solutions follow:
Put the contents in a function in that file, add that file in a <script tag in the header, and call the function onclick
Or call in the file with AJAX and eval it, or maybe JSON.parse it, or whatever
make a function that adds a <script> tag to the header with that file as a src

JavaScript SRC path not working

I have searched this web looking for an answer, but it seems that this time I'm not so lucky, so I am forced to ask. I apologize if it's already answered (could not find it). And yes, English is not my first language, so I also apologize for my spelling mistakes, I try my best.
This is my problem, using Tomcat 5.5, Struts 1.3, JRE 1.5 and I'm using firefox 3.5.6.
In my jsp page I cannot seem to put any src="path/path" in my <script> I have tried deleting the src and all works well, but my project is going to need a lot of use from jquery and I do not want to copy/paste all the js file in every jsp.
This is my code:
<script type="text/javascript" src="js/jquery-1.3.2.js">
function showMySelf(){
alert("Hello World!");
}
(... plus other stuff code that actually uses jquery functions)
</script>
and the submit button:
<input type="submit" onclick="showMySelf()">
When I click the button, nothing happens (well it actually repaints the page) and when I delete the "src" tag from the script and add all the jquery code to the page it all works well.
I have tried putting another slash in the path as "/js/jquery-1.3.2.js" and returns an error.
I have tried using ResolveURL and it doesn't seem to give me better results.
I have also tried changing the js file to another file ("generics.js" and "js.js"), I also tried with "js/*.js".
Any of theese solutions have archived anything.
I have also tried using the struts tags (like html:submit) but it also did not work.
The path is actually right, since looking the code in my web browser gives me a link to the js file. So I suposse the browser knows were to look for my js file, it does not give me an error or a broken link to the file.
Any ideas of why this is happening?
Thank you all.
Random.
You can not use a script element to load an external file and put code in it at the same time. You need to use two script elements:
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script type="text/javascript">
function showMySelf(){
alert("Hello World!");
}
(... plus other stuff code that actually uses jquery functions)
</script>
I think Gumbo solved it.
As a sidenote, a very good way to find out whether a browser can load a JS file is the "Net tab" in Firebug in Firefox. It shows all loaded (and failed) requests of the current page.
The two most likely options are:
a) You are including HTML in your JS file (i.e. <script> tags)
Take it out.
b) You have the wrong URI and when you attempt to resolve your relative URI manually you do so incorrectly
Look at your server access logs to see what is actually being requested (or use a tool such as Firebug)
The first thing to do in such case. Install Firebug and look at the "Console" panel (for possible syntax errors) and the "Net" panel to see whether your jQuery sources are being fetched correctly. The 2nd column there shows the request status code.
alt text http://img46.imageshack.us/img46/6224/jqueryfirebugtmp.jpg
(full size image)

Categories