(Seth E Seligman) writes:
> I'm working on a web based file manager. The rename file function
> creates a new window with a form allowing the user to enter a new
> file name. Before the form gets submitted, I want to make sure that
> a valid file name (no "/" or "\" characters) was entered. If the
> validation functions returns true, the form should be submitted and
> the window closed. If the function returns false the form window
> should stay open so the use can enter a new file name. What's the
> correct way to do this?
> When I try to add a win dow.close function I either close the window
> without submitting the form, or submit the form without closing the
> window.
To validate a form field, create a function that returns true it
the field contains a legal value and false if it doesn't. E.g.
<script type="text/javascript">
function validateField(form) {
var result = true;
var response = "";
var fieldValue1 = form.elements['fieldName'].value;
if (fieldValue1.match(/[\\\/]/)) { // contains \ or /
result = false;
response += "Filename may not containt \"\\\" or \"/\".\n";
}
if (!result) {
alert(response);
}
return result;
}
</script>
Then call the function from the form's onsubmit handler, and return
its result:
<form ... onsubmit="return valudateField(this)">
To close the window after the form has been sumitted, you should wait
until you are certain that the form is successfully submitted. That
means that you should close the window in the page that is returned by
the form submit, not in the one containing the form. (You should
ofcourse have a cancel button too.
If the popup window isnt doing anything except querying for a filename,
you could look into the "prompt" function.
/L
--
Lasse Reichstein Nielsen -
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'