Posted by: twmeier
on Jul 31, 2009
There are times when you want to use an image as a button to submit a form. One case is when you need to use JavaScript to check the html form was submitted correctly. Here is the code:
<script>
function checkForm()
{
var msg = "Please correct the following: \n\n";
var error = false;
if(document.formName.elementName.value=="") {
msg += "You must enter a date.\n";
error = true;
}
if(error){
alert(msg);
}else{
if(confirm("Are you sure you want to submit this form?")){
document.formName.submit();
}
}
}
</script>
<form name="formName" action="/index.php?&task=something" method="post">
<input type="text" name="elementName" id="elementId" value="">
....
</form>
<a href="#" onclick="checkForm(); return false;"><img src="/images/brown_submit.jpg" /></a>
The method above works in all browsers, and is easy to use. When you click the image, the JavaScript function is called. If there are no errors in the form, the function submits the form. Its that easy.
Posted by: twmeier
on Jun 10, 2009
Opening a link in a new window is very easy. A link in HTML looks like this:
<a href="someurl.com">Link Text</a>
To open the link in a new window add target="_blank":
<a href="someurl.com" target="_blank">Link Text</a>
If you are using a text editor to create you links, you will often times see the option to open the link in a new window.
Posted by: twmeier
on Apr 10, 2009
I came across a problem this week, with a form that submitted when a user hit the "enter" or "return" button even though the submit button had an onclick function that should have kept the form from submitting. The problem only manifested itself on Google's Chrome browser.
I found the following JavaScript code to keep this from happening:
// Disables enter button from submitting the form
var nav = window.Event ? true : false;
if (nav) {
window.captureEvents(Event.KEYDOWN);
window.onkeydown = NetscapeEventHandler_KeyDown;
} else {
document.onkeydown = MicrosoftEventHandler_KeyDown;
}
function NetscapeEventHandler_KeyDown(e) {
if (e.which == 13 && e.target.type != 'textarea' && e.target.type != 'submit') { return false; }
return true;
}
function MicrosoftEventHandler_KeyDown() {
if (event.keyCode == 13 && event.srcElement.type != 'textarea' && event.srcElement.type != 'submit')
return false;
return true;
}
This worked great and fixed my problem (and hopefully your too).
Posted by: twmeier
on Mar 18, 2009
There are times when you may want to open a page in a new browser window. You may also want to be able to determine the size of the new window, whether or not to have scroll bars, tool bars, status bars etc.. There is a ready-made JavaScript function that you can use to do this:
window.open('url', 'window name', 'attribute1', 'attribute2', .....)
- 'url'
This is the url of the page you would like to appear in the new window. - 'window name'
You can name your window whatever you like, which can be used if you need to make a reference to the window later. - 'attributes'
Attributes determine how the new window will look, and are listed below.
Attributes