13. november 2002 - 10:12
Der er
17 kommentarer og 1 løsning
send en <input type="text"> og en <select> til en metode!
HEJ ALLE SAMMEN Jeg skal sende en <text> og en <select> til en metode. <input type='text' name='number' size='1' onKeyup='mulig(this, document."SELECTNAME")'> Dette virker ikke! Hvad skal jeg gøre!!
Annonceindlæg fra Computerworld
13. november 2002 - 10:24
#1
onKeyup="mulig(this.form);" og i function mulig(f) { ....f.number.value... for teksten ....f.ditnavnpådinselect....osv... for din select }
13. november 2002 - 11:45
#2
msg = <select>, der kan nemlig x antal <select> så det jeg faktisk gerne vil have at vide er hvordan de <options> der er i <select>(msg) function mulig(field, form, msg){ alert(form.name.msg) } dette giver en fejl! hvorfor?
13. november 2002 - 11:48
#3
Det er svært at hjælpe dig, når man skal gætte sig til din kode.
13. november 2002 - 11:50
#4
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> arrayId = new Array(); arrayName = new Array(); arrayNumber = new Array(); arrayCounter = 0; textboxCounter = 0; function setArrays(msgId, msgName, msgNumber){ arrayId[arrayCounter] = msgId; arrayName[arrayCounter] = msgName; arrayNumber[arrayCounter] = msgNumber; arrayCounter = arrayCounter + 1; } function mulig(field, form, msg){ var te = form.name.msg; alert(te) } function addRow(){ var tal = textboxCounter; var tbody = document.getElementById("hej").getElementsByTagName("TBODY")[0]; var row = document.createElement("TR") var td1 = document.createElement("TD") var td2 = document.createElement("TD") var td3 = document.createElement("TD") td1.appendChild(document.createElement("<input type='radio' name='counterId'>")) td2.appendChild(document.createElement("<input type='text' name='number' size='1' onKeyup='mulig(this, this.form,"+tal+")>")); td3.appendChild(greateSelectbox()); row.appendChild(td1); row.appendChild(td2); row.appendChild(td3); tbody.appendChild(row); textboxCounter++; } function greateSelectbox(){ var selectbox = document.createElement("SELECT") selectbox.name = textboxCounter; selectbox.options.length = 0; for(i = 0; i < arrayId.length; i++){ var option = document.createElement("OPTION") option.text = arrayName[i]; selectbox.options.add(option, i); } return selectbox; } </SCRIPT>
13. november 2002 - 11:57
#5
og resten?
13. november 2002 - 12:00
#6
DET HELE: <%@ taglib uri="/webapp/DataTags.tld" prefix="jbo" %> <jsp:useBean id="userBean2" class="dk.bestseller.SupplierPortal.SupplierBeans.UserBean2" scope="session"/> <jsp:useBean id="standardGradingBean" class="dk.bestseller.SupplierPortal.SupplierBeans.StandardGrandingBean" scope="session"/> <% standardGradingBean.resetGradeLinesId(); %> <jbo:ApplicationModule id="BCBI2Module9iASDMZ" definition="SupplierWeb.BCBI2Module9iASDMZ" releasemode="Stateless" /> <jbo:DataSource id="exsistingRecords" appid="BCBI2Module9iASDMZ" orderbyclause="SG_GRADE_LINES_ID" viewobject="MeasurementCardModule.SgGradeLinesView1" /> <jbo:DataSource id="findMeasurements" appid="BCBI2Module9iASDMZ" viewobject="MeasurementCardModule.McMeasurementsView1" /> <jbo:ViewCriteria id="vcr" datasource="exsistingRecords" > <jbo:CriteriaRow id="cr" > <jbo:Criteria dataitem="StdGradingsId" value="<%=standardGradingBean.getStdGradingsId()%>" /> </jbo:CriteriaRow> </jbo:ViewCriteria> <% int counter = 1; %> <html> <head> <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> arrayId = new Array(); arrayName = new Array(); arrayNumber = new Array(); arrayCounter = 0; textboxCounter = 0; function setArrays(msgId, msgName, msgNumber){ arrayId[arrayCounter] = msgId; arrayName[arrayCounter] = msgName; arrayNumber[arrayCounter] = msgNumber; arrayCounter = arrayCounter + 1; } function mulig(field, form, msg){ var te = form.name; alert(te) } function addRow(){ var tal = textboxCounter; var tbody = document.getElementById("hej").getElementsByTagName("TBODY")[0]; var row = document.createElement("TR") var td1 = document.createElement("TD") var td2 = document.createElement("TD") var td3 = document.createElement("TD") td1.appendChild(document.createElement("<input type='radio' name='counterId'>")) td2.appendChild(document.createElement("<input type='text' name='number' size='1' onKeyup='mulig(this, this.form,"+tal+")>")); td3.appendChild(greateSelectbox()); row.appendChild(td1); row.appendChild(td2); row.appendChild(td3); tbody.appendChild(row); textboxCounter++; } function greateSelectbox(){ var selectbox = document.createElement("SELECT") selectbox.name = textboxCounter; selectbox.options.length = 0; for(i = 0; i < arrayId.length; i++){ var option = document.createElement("OPTION") option.text = arrayName[i]; selectbox.options.add(option, i); } return selectbox; } </SCRIPT> <LINK REL="StyleSheet" HREF="../scripts/Measurement.css" type="text/css"> </head> <body bgcolor="#c0c0c0" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0"> <form name="for"> <table id="hej" class="m_outset" border="0" cellpadding="0" cellspacing="0" width="100%"> <col class="m_radio" align="center"> <col class="m_radio" align="center"> <col> <TBODY> <jbo:RowsetIterate datasource="exsistingRecords" > <jbo:Row id="aRow" datasource="exsistingRecords" action="Active" > <% standardGradingBean.setGradeLinesId(aRow.getAttribute("SgGradeLinesId").toString()); %> </jbo:Row> <tr> <td><input type="radio" name="counterId"></td> <td><%=counter%></td> <%counter++;%> <td><jbo:ShowValue datasource="exsistingRecords" dataitem="SgGradeLineName" ></jbo:ShowValue></td> </tr> </jbo:RowsetIterate> </TBODY> </table> </body> </form> <jbo:RowsetIterate datasource="findMeasurements" > <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> setArrays('<jbo:ShowValue datasource="findMeasurements" dataitem="McMeasurementsId" ></jbo:ShowValue>', '<jbo:ShowValue datasource="findMeasurements" dataitem="MeasurementsName" ></jbo:ShowValue>', '<jbo:ShowValue datasource="findMeasurements" dataitem="MeasurementNumber" ></jbo:ShowValue>') </script> </jbo:RowsetIterate> </html><jbo:ReleasePageResources />
13. november 2002 - 12:22
#7
:) hehe, glem jeg spurgte... Nej, seriøst, jeg ville egentlig bare give dig en løsning i din egen kode, afprøvet og det hele, men det bliver vist for omfattende. Skal du bare have et eksempel på en form med et felt og en select, og så trække flere valg ud af den sidste?
13. november 2002 - 12:47
#8
Jeg har en variable som har samme værdi som navnet på en <select> den værdi vil jeg gerne bruge til at finde min <select> ved document.form."variable"
13. november 2002 - 12:53
#9
<html> <head> <title> New Document </title> </head> <SCRIPT LANGUAGE="JavaScript"> <!-- function f(form,navn) { var s=form.elements[navn]; alert(s.selectedIndex); } //--> </SCRIPT> <body> <form> <input type="text" name="t"><br> <select name="s"> <option value="1">En</option> <option value="2">To</option> <option value="3">Tre</option> </select> <br> <input type="button" onclick="f(this.form,'s');"> </form> </body> </html>
13. november 2002 - 13:45
#10
Nu har jeg gjort det sådan her: function mulig(field, form, msg){ list = form.elements for(var i = 0; i < list.length; i++){ if(list[i].name == msg){ nyListe = list[i].options; nyListe.options.selectedIndex = field.value; break; } } }
13. november 2002 - 13:50
#11
Kan du ikke bare slå den op? list = form.elements[msg];
13. november 2002 - 13:55
#12
Nej, for så finder jeg det element på den givne plads, jeg skal jo finde det element der har det bestemte navn
13. november 2002 - 14:01
#13
Fordi dit navn er et tal - det er også noget fusk :) Du kan f.eks kalde dine selecter "s1" osv: selectbox.name = "s" & textboxCounter; og tilrette andre steder
13. november 2002 - 14:10
#14
Ja det er sgu lidt fusket, men det kører der ud af
13. november 2002 - 14:34
#15
selectbox.name = "s" + textboxCounter; skal det vist være :) Men bare du er lykkelig ...
13. november 2002 - 14:44
#16
Jeg ved sgu ikke helt om du fortjener point, hvad synes du selv
13. november 2002 - 14:50
#17
Er du i tvivl er svaret klart: nej!
14. november 2002 - 09:41
#18
OK
Vi tilbyder markedets bedste kurser inden for webudvikling