christo Posted July 26, 2006 Share Posted July 26, 2006 Hi to everybody !I'm writing an html page where the user fils one or more (if zero infos then pop up Alert) forms (javascript check) and then the page sends the info to a php scipt for treatment and then database check (mysql).What i don't know is this : Since with the form action = script.php to send the infos then where do i place the javascript ? Here's what i've donne but it doesn't work.[code]<html> <head> <title> * Annuaire * </title> <script type="text/javascript"> function verifForm(formulaire){ if( formulaire.name.value == "") alert('Le champ est vide !!!'); else formulaire.submit();} </script> </head> <body> <h2 style = "text-align": center;></div> <h2 style = "text-align": center;> * Annuaire du xyz * </h2> <form action = search.php method = "POST"> <table border=\"0\"> <tr><td>Nom :</td> <td><input type="text" name="name"></td></tr> <tr><td>Prenom :</td> <td><input type="text" name="surname"></td></tr> <tr><td>Tel:</td> <td><input type="text" name="tel" maxlength="10"></td></tr> <tr><td>Email:</td> <td><input type="text" name="email"></td></tr> <tr><td>Web :</td> <td><input type="text" name="web"></td></tr> <td>Departement:</td><td align="center"><select name="depart" > <option value="all" selected="selected">Tous les departements</option> <option >Info</option> <option >Micro</option> <option >Robo</option> <option >Admin</option> </select> </td> </tr> <td>Statut:</td><td align="center"><select name="statut" > <option value="all" selected="selected">Tout statut</option> <option >Permanent</option> <option >Doc</option> <option >Post-Doc</option> <option >Invite</option> <option >Stagiaire</option> </select> </td> </tr> <td><br><input type="submit" value="Envoye" onsubmit="verifForm(this.form)"></input></td> <td><br><input type="reset" value="Retablir"></input></td> </form> </table> <body><html>[/code]What do you think ?is the js well placed and why doen't it do anything ?thanks Quote Link to comment Share on other sites More sharing options...
bltesar Posted July 27, 2006 Share Posted July 27, 2006 there are a few problems with this code.First, <form action = search.php method = "POST"> should read <form action = "search.php" method = "POST">Second, I believe the onsubmit event handler should be in the <form> tag, not the <input> tag.Third, I don't know if the onsubmit event hander can stop the submit from occuring. I think, but I'm not sure, that the validation function should return true or false, and a false might prevent the submit from going through. Your validation calls submit again, so it will keep calling itself ad infinitum.I use a different approach (which is why I forget the onSubmit approach). I do not use a submit button. Instead, I use a regular button with an onClick event handler that calls the validation function. If the data is valid, the validation function then submits the form. Quote Link to comment Share on other sites More sharing options...
christo Posted July 28, 2006 Author Share Posted July 28, 2006 the problem with the onClick is that if the user hits enter at the keyboard and not use the mouse then the js won't do anything...that why i'm not using it.But i will do the changes that you talked about and hope for the best, thank eh ! Quote Link to comment Share on other sites More sharing options...
bltesar Posted July 28, 2006 Share Posted July 28, 2006 christo, I checked into this and discovered that you can use the onSubmit as I previously described. put the onSubmit="valid_func()" in the <form> tag.have the function 'return true' for good data and 'return false' for bad data. The 'return false' will cancel the submission. Quote Link to comment Share on other sites More sharing options...
christo Posted July 28, 2006 Author Share Posted July 28, 2006 but in the form i have already the action for the php script, where/ can i add this too ? Quote Link to comment Share on other sites More sharing options...
bltesar Posted July 28, 2006 Share Posted July 28, 2006 your form tag should look like this:<form action = "search.php" onsubmit="verifForm(this)" method = "POST">and your veriForm function should look like this:[code]function verifForm(formulaire){ if( formulaire.name.value == "") { alert('Le champ est vide !!!'); return false; } else { return true; }}[/code]and your submit button should look like this:<input type="submit" value="Envoye">incidentally, you do not need to pass an argument to the veriForm function if the function will only operate on one form. Instead of the formulaire argument, you can use document.forms[0].name.value; Quote Link to comment Share on other sites More sharing options...
christo Posted July 28, 2006 Author Share Posted July 28, 2006 That's it you were right about putting it in the form !i changed the script too and at least i have the alert now!I still have some probs like :Warning: mysql_connect(): Can't connect to MySQL server on 'localhost' (10061) in c:\program files\easyphp1-8\www\search.php on line 57Erreur de connection avec MySQL !Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in c:\program files\easyphp1-8\www\search.php on line 58Erreur connection avec la DB !Warning: mysql_query(): Can't connect to MySQL server on 'localhost' (10061) in c:\program files\easyphp1-8\www\search.php on line 68That might be that i have to configure easyphp ??? Quote Link to comment Share on other sites More sharing options...
bltesar Posted July 28, 2006 Share Posted July 28, 2006 Fix the first error and the rest will go away. What does your mysql_connect() statement look like? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.