Actually you cannot disable the submit button upon submit, it stops the form from submitting, the best you can do is hide it. I usually do onclick="this.value = 'Please wait ...';"
A *simple* way would be to add hidden fields with the name of the field and add _required to it (not a pretty way of doing it, but simple...) this way cf does the checking for you -- Taco Fleur Senior Web Systems Engineer http://www.webassociates.com -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Carl Sent: Wednesday, 22 September 2004 11:19 AM To: CFAussie Mailing List Subject: [cfaussie] SOT: 3 Functions to check as form submits I have a form where I have to check form validation, grey out the submit button (so they don't press submit again and again) and then open a small window (in that order). The form is for an upload of a file, so I know you can't use CFFORM and required=yes in text boxes for form validation (unless I'm mistaken, this would make things easier). And yes I do have enctype="multipart/form-data" in the form element as well. So I want to know how (and where I put the other scripts) to complete this script and once all required fields are met, process the form by greying out the submit box and then open the progress window. If there is a simpler way of doing this, I would appreciate it a lot.. On submit gets this script OnSubmit="return formCheck(this);" ClientEmail and EditorEmail are a text boxes, Details is a TextArea and attachment is a file field. function formCheck(formobj){ // Enter name of mandatory fields var fieldRequired = Array("ClientEmail", "EditorEmail", "Details", "attachment"); // Enter field description to appear in the dialog box var fieldDescription = Array("Your Email Address", "Editor Email", "Details", "Attachment"); // dialog message var alertMsg = "Please complete the following fields:\n"; var l_Msg = alertMsg.length; for (var i = 0; i < fieldRequired.length; i++){ var obj = formobj.elements[fieldRequired[i]]; if (obj){ switch(obj.type){ case "select-one": if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){ alertMsg += " - " + fieldDescription[i] + "\n"; } break; case "select-multiple": if (obj.selectedIndex == -1){ alertMsg += " - " + fieldDescription[i] + "\n"; } break; case "text": case "file": if (obj.value == "" || obj.value == null){ alertMsg += " - " + fieldDescription[i] + "\n"; } break; case "textarea": if (obj.value == "" || obj.value == null){ alertMsg += " - " + fieldDescription[i] + "\n"; } break; default: } if (obj.type == undefined){ var blnchecked = false; for (var j = 0; j < obj.length; j++){ if (obj[j].checked){ blnchecked = true; } } if (!blnchecked){ alertMsg += " - " + fieldDescription[i] + "\n"; } } } } if (alertMsg.length == l_Msg){ return true; }else{ alert(alertMsg); return false; } } Here is the script for greying out submit button <script> function submitonce(theform){ //if IE 4+ or NS 6+ if (document.all||document.getElementById){ //screen thru every element in the form, and hunt down "submit" and "reset" for (i=0;i<theform.length;i++){ var tempobj=theform.elements[i] if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset" ) //disable em tempobj.disabled=true } } } </script> and on the Submit button itself onClick="winopen('progress.cfm','instwin',350,150)" and here is the script function winopen(url,winname,x,y){ var winleft = 150; var wintop = 150; var options = "toolbar=no,scrollbars=no,resizable=no,left=" + winleft + ",top=" + wintop + ",width=" + x + ",height=" + y; msgWindow=window.open(url,winname,options); } Thanks Carl --- You are currently subscribed to cfaussie as: [EMAIL PROTECTED] To unsubscribe send a blank email to [EMAIL PROTECTED] Aussie Macromedia Developers: http://lists.daemon.com.au/ --- You are currently subscribed to cfaussie as: [EMAIL PROTECTED] To unsubscribe send a blank email to [EMAIL PROTECTED] Aussie Macromedia Developers: http://lists.daemon.com.au/
