Elmacik Posted October 21, 2005 Share Posted October 21, 2005 i have for example 3 of forms. all of them have their own actions.for example i will use these forms to upload files to different sites of mine. here is a code example: <form name="form1" action="http://something" method="post"><input type="file" name="site1" /><input type="submit" value="Upload!" /></form>-------------------------------------------------------------------------------------------<form name="form2" action="http://someotherthing" method="post"><input type="file" name="site2" /><input type="submit" value="Upload!" /></form>--------------------------------------------------------------------------------------------<form name="form3" action="http://differentthing" method="post"><input type="file" name="site3" /><input type="submit" value="Upload!" /></form> now, i want to make this sites appear in a select box. for example: <form name="combined" action=""><input type="file" name="file what to name this??? 3 different names above(!)" /><select name="selecting"><option value="">select the server</option><option value="form_1">upload to site 1</option><option value="form_2">upload to site 2</option><option value="form_3">upload to site 3</option></select><input type="submit (or should use button? )" onclick="if (this.selectedIndex = 0) { alert('you didnt select a server!') } elseif (this.form.file.value = 0) { alert('you didnt select a file to upload!') } elseif (this.options[this.selectedIndex].value = form_1) { here goes the code to submit form 1 } elseif (this.options[this.selectedIndex].value = form_2) { here goes the code to submit form 2 } elseif (this.options[this.selectedIndex].value = form_3) { here goes the code to submit form 3 }" /></form> my knowledge about javascript approaches to zero.i read the tutorials in w3school (if.. elseif statements)but it was very simple to meet my question.anybody? please help its really needed Link to comment Share on other sites More sharing options...
Chocolate570 Posted October 21, 2005 Share Posted October 21, 2005 <form name="combined" action=""><input type="file" name="file what to name this??? 3 different names above(!)" /><select name="selecting"><option value="">select the server</option><option value="form_1">upload to site 1</option><option value="form_2">upload to site 2</option><option value="form_3">upload to site 3</option></select><input type="submit (or should use button? )" onclick="if (this.selectedIndex = 0) { alert('you didnt select a server!') } elseif (this.form.file.value = 0) { alert('you didnt select a file to upload!') } elseif (this.options[this.selectedIndex].value = form_1) { here goes the code to submit form 1 } elseif (this.options[this.selectedIndex].value = form_2) { here goes the code to submit form 2 } elseif (this.options[this.selectedIndex].value = form_3) { here goes the code to submit form 3 }" /></form> What the heck?You put WAY too much javascript inside the events of the button/whatever, you have to write a function. Explain better what you're trying to do, and i'll help out. Link to comment Share on other sites More sharing options...
Elmacik Posted October 22, 2005 Author Share Posted October 22, 2005 first, thanks a lot for caring.now, i summerize,i have 3 of sites to upload and host files in.i want to make a select box to let me choose which site to be used to upload onto.the form will consist of three parts.one is the file browsing, second is the select box that will contain three sites, and one button to make the upload action... Link to comment Share on other sites More sharing options...
Elmacik Posted October 24, 2005 Author Share Posted October 24, 2005 anyone?? Link to comment Share on other sites More sharing options...
Chocolate570 Posted October 24, 2005 Share Posted October 24, 2005 Hmm...so let me understand this.All you want is a select box with a file box and a submit button, and when the user selects a file and selects a site and clicks the submit button, take the user to the site? If that's what you want, i can do it. If you want the location of the file to be taken to the site..... :ph34r: Link to comment Share on other sites More sharing options...
Elmacik Posted October 25, 2005 Author Share Posted October 25, 2005 yes thats what i exactly want.a select box with a file input and a submit button.when someone select a local file, and selects a site from the list and clicks the button, that file will be uploaded to the selected site.(yes, sites have upload actions) Link to comment Share on other sites More sharing options...
MadPotato Posted October 25, 2005 Share Posted October 25, 2005 First, as Chocolate570 said, use a function. to do so, open the tags <script> </script> with a content like this: <script type="text/javascript">function YourFunctionName(target) { if (target.selectedIndex = 0) { alert('you didnt select a server!') } else if (target.form.file.value = 0) { alert('you didnt select a file to upload!') } else if (target.options[target.selectedIndex].value = form_1) { here goes the code to submit form 1 } else if (target.options[target.selectedIndex].value = form_2) { here goes the code to submit form 2 } else if (target.options[target.selectedIndex].value = form_3) { here goes the code to submit form 3 }}</script> As you can see, i changed little in your code, put it in a function and add some tabulation. Much easier to read now, dont you think?Now, in your 'onclick' event, you should put something like onclick="YourFunctionName(this)". Notice that the 'this' is sent to the function, that calls it 'target', and use 'target' instead of 'this'. Another change is the 'elseif'...javascript dont know what it means, whe just know 'else' and 'if', so you can use it in the same context as 'else if' Link to comment Share on other sites More sharing options...
MadPotato Posted October 25, 2005 Share Posted October 25, 2005 Second, I suggest you use Switch...Case instead of If...Else If. The 'Switch' controll verify a variable value (or a property of an object, like a 'select' value) and specify a set of actions to do in each case (specified values). Here how it will look like: <script type="text/javascript">function Send2Server() { Switch(document.getElementById("selecting").value) { case "form_1": //Here comes the code to upload to server 1 break; case "form_2": //Here comes the code to upload to server 2 break; case "form_3": //Here comes the code to upload to server 3 break; }}</script><form name="combined" action=""> <input type="file" name="filename" id="filename" /> <select name="selecting" id="selecting"> <option value="">select the server</option> <option value="form_1">upload to site 1</option> <option value="form_2">upload to site 2</option> <option value="form_3">upload to site 3</option> </select> <input type="button" value="Upload!" onclick="Send2Server()" /></form> hope I helped you solve your problem Link to comment Share on other sites More sharing options...
Elmacik Posted October 25, 2005 Author Share Posted October 25, 2005 muchas gracias :)thanks a lot MadPotato..i couldnt make it work though. i am really very bad at coding.in your opinion, in the last examples you gave, what should i use for here in example 1 of yours: here goes the code to submit form 1and in here, in example 2 of yours? ://Here comes the code to upload to server 1 Link to comment Share on other sites More sharing options...
MadPotato Posted October 26, 2005 Share Posted October 26, 2005 lol (yes, sites have upload actions)i thought you already had the code to upload files...well, thats a little harder to do, then i'll send you an example and you try to implement it by yourself, ok? If you got trouble, just go back here and scream :)save this content as "index.php"<form enctype="multipart/form-data" action="uploaded.php" method="post"><input type="hidden" name="MAX_FILE_SIZE" value="3000000" />Send this file: <input name="userfile" type="file" /><input type="submit" value="Send File" /></form> save this content as "uploaded.php <?php// In versions of php < 4.1.0, use $HTTP_POST_FILES// isntead of $_FILES.$uploaddir = 'C:/apache/htdocs/misc/upload/';$uploadfile = $uploaddir . $_FILES['userfile']['name'];print "<pre>";if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) { print "File is valid and has been uplead sucessful. Here some info:\n"; print_r($_FILES);} else { print "Oh Oh! Something is wrong here...dont try anything funny lammy mother######er! Some info:\n"; print_r($_FILES);}print "</pre>";?> int the "if", if you cant move the file, maybe the user is trying a "upload attack"...but we are smart guys and won't let them in! :(hope I helpedPS.: Brazilians speak Portuguese, not Spanish! Link to comment Share on other sites More sharing options...
Elmacik Posted October 26, 2005 Author Share Posted October 26, 2005 hmm... well i am neither Brazilian, nor Portugese or nor Spanish :)MadPotato, thanks a lot for your help, but my head really went rubbish.I confused everything.Of course i have the form codes. (like index.php of your example)but this is the point i cant figure out,there will be three of forms. all they have different actions and different file name attributes (<input type=file name=something>)so, using one form IMO wont work for all three of them as they wont accept the same name attribute. Link to comment Share on other sites More sharing options...
MadPotato Posted October 26, 2005 Share Posted October 26, 2005 i'm not sure if I understood your doubt, but if you have 3 servers to send the files, the 'action=uploaded.php' should link to 3 diferent servers (like 'www.server1.com/uploaded.php', 'www.server2.com/uploaded.php'...) , and the 'name' really doesnt matter, if you change it in both files...put a 'uploaded.php' in each server...got it? Link to comment Share on other sites More sharing options...
Elmacik Posted October 26, 2005 Author Share Posted October 26, 2005 well then i must say we deviated out of our aim.my aim was to put the three sites in a select box.its of course very easy to write all of them a seperate form script. :)and since action will act for example like this: /upload.php?file=archive.zipnames matter i think Link to comment Share on other sites More sharing options...
MadPotato Posted October 26, 2005 Share Posted October 26, 2005 the name matters of course, but if you change it in both files it will workand the file name wont appear in the url, cuz you're using "post", not "get" methodand sorry for my mistake, i can hardly understand what you talk in english , but i'll give you a suggestion this way:i dont know if you can just 'move' a file throught servers, i guess not...then, you think that is acceptable an intermediate page? something like:Selected file: "your_file_name.zip"Confirm Upload? [Yes] Link to comment Share on other sites More sharing options...
MadPotato Posted October 26, 2005 Share Posted October 26, 2005 if you do, you can write a form with PHP, with the 'action' that you want...if not, i have another suggestion...when the guy select the item, you refresh the page, with an GET argument (like index.php?server=1), so you have the chance to re-write the action with PHP...the big problem is: the <input type="file"> isn't a common input, the string isnt all that matters...i dont understand it very well and maybe i'm wrong, but take a look in that part of the code:$uploadfile = $uploaddir . $_FILES['userfile']['name'];if it was a simple text box, you could use $_GET["userfile"] or $_POST["userfile"], but that $_FILE seems quite 'specific'...i'm pertty sure there are another ways to do it, but i just cant figure out...if i come to figure it out i'll tell you Link to comment Share on other sites More sharing options...
Elmacik Posted October 27, 2005 Author Share Posted October 27, 2005 thanks a lot MadPotato.and sorry for my english. its been 6 years finished the course and as a result, i forgot nearly everything.let me turn back to the Post #7 and Post #8 that are sent by you.can we use this:document.forms.form1name.submit();to submit a form?and can i attach two functions to one button? (offtopic question)and take it easy if we cant figure out, thanks for the effort.. thanks a loteditjust for a referance,i learn from some friend, he used vars and getElementById to chage the file name attributes and forum actions for each form. it works very well.thanks for your effort too.and the above 2 questions are still alive and unanswered Link to comment Share on other sites More sharing options...
Chocolate570 Posted October 27, 2005 Share Posted October 27, 2005 yup, you can. Suppose you had:<input type="button" value="function test" onclick="dothisthing();dothisecondthing()">That would work. Unless it's supposed to be a semicolon.... uhhh.... ok, here's an example. <head><script type="text/javascript">function dothisthing(){alert("First thing done,")}function dothisecondthing(){alert("Second thing done")}</script></head><body><input type="button" value="function test" onclick="dothisthing();dothisecondthing()"></body> Link to comment Share on other sites More sharing options...
MadPotato Posted October 27, 2005 Share Posted October 27, 2005 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now