Linuxmaniac Δημοσ. 5 Σεπτεμβρίου 2008 Δημοσ. 5 Σεπτεμβρίου 2008 Γεια χαρά, προσπαθώ να φτιάξω μια δυναμική συνάρτηση ως εξής για να αλλάξω την τιμή ενός form field ώστε να σταλεί αλλαγμένη η τιμή μέσω GET method: function autoSelect(id){ document.getElementById(id).value = 20; } αλλά δε δουλεύει. Αν υποθέσουμε ότι έχω κάποιο id="description" κάπου, η ακόλουθη συνάρτηση δουλεύει: function autoSelect(id){ document.getElementById('description').value = 20; } εγώ όμως δεν ξέρω το description ή το κάθε description πως λέγεται στη φόρμα οπότε το θέλω σαν όρισμα να το δέχεται η συνάρτηση και κάθε φορά να την καλώ ανάλογα, σαν την πρώτη συνάρτηση. Αλλά γιατί δε δουλεύει, ξέρει κανείς? Ή καμιά ιδέα πως μπορώ να το κάνω? ευχαριστώ
alex2005 Δημοσ. 5 Σεπτεμβρίου 2008 Δημοσ. 5 Σεπτεμβρίου 2008 Κανονικά θα έπρεπε να δουλεύει. Μπορείς να ποστάρεις όλο τον κώδικα να τον δούμε? Και αν μπορείς γράφε με Ελληνικούς χαρακτήρες για να μην διαγραφεί το post/thread σου.
Linuxmaniac Δημοσ. 5 Σεπτεμβρίου 2008 Μέλος Δημοσ. 5 Σεπτεμβρίου 2008 Παραθέτω όλη την σελίδα αν και δε νομίζω πως έχει σημασία. Ακόμη κι αυτός ο κώδικας παράγεται δυναμικά με servlet γι' αυτό δεν ξέρω τα Id των μεταβλητών. <div style="position: absolute; width: 100%; height: 17%; z-index: 2; left: 0; top: 0; background-color:#00CCCC" id="menou"> <h1 ALIGN=CENTER>Aegean University</h1> <TABLE BORDER="0" ALIGN=CENTER><TR> <TD><A href="Browse">Browse Portal</A></TD> <TD> <A href="AddInstanceList">Add Object</A></TD> <TD> <A href="EditInstanceList">Edit Object</A></TD> <TD> <A href="Delete">Delete Object</A></TD> <TD> <A href="Queries">Search Ontology (Formal Queries)</A></TD> <TD> <A href="ReadyQueries">Search Ontolgy (Template Queries)</A></TD> <TD> <A href="Index">Home</TD> </TR></TABLE> </div> <meta http-equiv="Content-Type"content="text/html;charset=UTF-8"> <?xml version = "1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns = "http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript"> function minima(){ if(!document.myForm.newInstance.value) alert("Please enter NewObjectID!")} </script> <script type="text/javascript"> function autoSelect(form,id,append){ if(append==0 && form.length > 0) { document.getElementById(id).value += "^^http://www.w3.org/2001/XMLSchema#int"; } else if(form.length > 0) { document.getElementById(id).value += "^^http://www.w3.org/2001/XMLSchema#string"; } alert(form);} </script> <title>Add Object</title> </head> <body BGCOLOR = "#99FFFF" > <br><br><br><br><br><br><h2 ALIGN=CENTER>Add Object TypeOf <br>construction</h2> <form name = "myForm" action = "/AddedOK" method = "Get" ALIGN=CENTER> <TABLE BORDER="1" ALIGN=CENTER> <TD>NewObjectID<TD><input type="text" name="newInstance" size="25" value=""></TD></TABLE> <TABLE BORDER="1" ALIGN=CENTER> <TR><TD>description</TD><TD><input type="text" id="description" name="description" size="25" value=""></TD> <TD><input type="radio" name="description_button" value="int" checked onClick="autoSelect(document.myForm.description.value,description,0)">Integer <input type="radio" name="description_button" value="string" onClick="autoSelect(document.myForm.description.value,1)">String</TD></TR> <TR><TD>years_spent_for_completion</TD><TD><input type="text" id="years_spent_for_completion" name="years_spent_for_completion" size="25" value=""></TD> <TD><input type="radio" name="years_spent_for_completion_button" value="int" checked onClick="autoSelect(document.myForm.years_spent_for_completion.value,years_spent_for_completion,0)">Integer <input type="radio" name="years_spent_for_completion_button" value="string" onClick="autoSelect(document.myForm.years_spent_for_completion.value,1)">String</TD></TR> <TR><TD>completely_abandoned</TD><TD><input type="text" id="completely_abandoned" name="completely_abandoned" size="25" value=""></TD> <TD><input type="radio" name="completely_abandoned_button" value="int" checked onClick="autoSelect(document.myForm.completely_abandoned.value,completely_abandoned,0)">Integer <input type="radio" name="completely_abandoned_button" value="string" onClick="autoSelect(document.myForm.completely_abandoned.value,1)">String</TD></TR> <TR><TD>utilizes_technology</TD><TD><input type="text" id="utilizes_technology" name="utilizes_technology" size="25" value=""></TD> <TD>or choose: <select name="utilizes_technology_List" ALIGN=CENTER> <option value = "None"></option> <option value = "ancient_greek_technology_1">ancient_greek_technology_1</option> </select></TD></TR> <TR><TD>remained_in_use</TD><TD><input type="text" id="remained_in_use" name="remained_in_use" size="25" value=""></TD> <TD><input type="radio" name="remained_in_use_button" value="int" checked onClick="autoSelect(document.myForm.remained_in_use.value,remained_in_use,0)">Integer <input type="radio" name="remained_in_use_button" value="string" onClick="autoSelect(document.myForm.remained_in_use.value,remained_in_use,1)">String</TD></TR> <TR><TD>is_located</TD><TD><input type="text" id="is_located" name="is_located" size="25" value=""></TD> <TD>or choose: <select name="is_located_List" ALIGN=CENTER> <option value = "None"></option> <option value = "Ampelos_hill">Ampelos_hill</option> </select></TD></TR> </TABLE> <br><br><center><input type=SUBMIT onMouseOver="minima()" value="Add Object"></center> </form> </body> </html>
alex2005 Δημοσ. 5 Σεπτεμβρίου 2008 Δημοσ. 5 Σεπτεμβρίου 2008 <input type="text" id="years_spent_for_completion" name="years_spent_for_completion" size="25" value=""> autoSelect(document.myForm.years_spent_for_completion.value,years_spent_for_compl etion,0) Καταρχήν υπάρχει ένα κενό στο "completion" υποθέτω όμως ότι αυτό είναι λάθος από το copy paste που έκανες. Αυτό που έχεις κάνει λάθος είναι ότι πρέπει να είναι 'years_spent_for_completion'. Για δοκίμασε και πες μας.
Linuxmaniac Δημοσ. 5 Σεπτεμβρίου 2008 Μέλος Δημοσ. 5 Σεπτεμβρίου 2008 ωραίος φίλε! αυτή η javascript αυτό το κακό έχει.Δεν είναι προτυποποιημένη και με δοκιμές την παλεύεις μέχρι να δεις φως.Τελικά ήθελε, όπως είπες κι εσύ (αν κατάλαβα αυτό εννοούσες), όταν την καλείς τη συνάρτηση να την καλείς function('id') και μετά δούλεψε η βλακεία. Χίλια ευχαριστώ
alex2005 Δημοσ. 5 Σεπτεμβρίου 2008 Δημοσ. 5 Σεπτεμβρίου 2008 Ναι αυτό ακριβώς εννοούσα. Πάντως είπες μία μεγάλη αλήθεια για την javascript, παρόλο που υπάρχουν κάποια standard από την W3C είναι πολύ φλου ακόμα. Τέλος πάντων, να' σαι καλά.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.