Avatar billede thinge Nybegynder
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!!
Avatar billede erikjacobsen Ekspert
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
}
Avatar billede thinge Nybegynder
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?
Avatar billede erikjacobsen Ekspert
13. november 2002 - 11:48 #3
Det er svært at hjælpe dig, når man skal gætte sig til
din kode.
Avatar billede thinge Nybegynder
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>
Avatar billede erikjacobsen Ekspert
13. november 2002 - 11:57 #5
og resten?
Avatar billede thinge Nybegynder
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 />
Avatar billede erikjacobsen Ekspert
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?
Avatar billede thinge Nybegynder
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"
Avatar billede erikjacobsen Ekspert
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>
Avatar billede thinge Nybegynder
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;
      }
    }
  }
Avatar billede erikjacobsen Ekspert
13. november 2002 - 13:50 #11
Kan du ikke bare slå den op?

  list = form.elements[msg];
Avatar billede thinge Nybegynder
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
Avatar billede erikjacobsen Ekspert
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
Avatar billede thinge Nybegynder
13. november 2002 - 14:10 #14
Ja det er sgu lidt fusket, men det kører der ud af
Avatar billede erikjacobsen Ekspert
13. november 2002 - 14:34 #15
selectbox.name = "s" + textboxCounter;

skal det vist være :) Men bare du er lykkelig ...
Avatar billede thinge Nybegynder
13. november 2002 - 14:44 #16
Jeg ved sgu ikke helt om du fortjener point, hvad synes du selv
Avatar billede erikjacobsen Ekspert
13. november 2002 - 14:50 #17
Er du i tvivl er svaret klart: nej!
Avatar billede thinge Nybegynder
14. november 2002 - 09:41 #18
OK
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Netcompany A/S

Linux Operations Engineer

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger it-supporter til Lokal IT Servicecenter i Karup

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Teknologirådgiver inden for AI-området til Teknologiafdelingen

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Solution Manager til Cyberdivisionen