Avatar billede mitbrugernavn Praktikant
20. december 2008 - 11:50 Der er 10 kommentarer og
1 løsning

hente form værdier

problem = værdien fra dropdown bliver ikke hentet ????

test_2.asp

<%

  for each item in request.QueryString ' løb alle formens elementer igennem
navn = item
            if request.QueryString(item) <> "" then response.write navn & " - " & request.QueryString(item) & "<br>" ' udskriv

    next

%>


har følgende js
<script type="text/javascript" language="javascript">
  var http_request = false;
  function makeRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            // set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
        }
      } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
              http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
      }
      if (!http_request) {
        alert('Cannot create XMLHTTP instance');
        return false;
      }
      http_request.onreadystatechange = alertContents;
      http_request.open('GET', url + parameters, true);
      http_request.send(null);
  }

  function alertContents() {
      if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            //alert(http_request.responseText);
            result = http_request.responseText;
            document.getElementById('myspan').innerHTML = result;           
        } else {
            alert('There was a problem with the request.');
        }
      }
  }
 
function get(obj) {
  var getstr = "?";
  for (i=0; i<obj.getElementsByTagName("input").length; i++) {
        if (obj.getElementsByTagName("input")[i].type == "text") {
          getstr += obj.getElementsByTagName("input")[i].name + "=" +
                  obj.getElementsByTagName("input")[i].value + "&";
        }
        if (obj.getElementsByTagName("input")[i].type == "checkbox") {
          if (obj.getElementsByTagName("input")[i].checked) {
              getstr += obj.getElementsByTagName("input")[i].name + "=" +
                  obj.getElementsByTagName("input")[i].value + "&";
          } else {
              getstr += obj.getElementsByTagName("input")[i].name + "=&";
          }
        }
        if (obj.getElementsByTagName("input")[i].type == "radio") {
          if (obj.getElementsByTagName("input")[i].checked) {
              getstr += obj.getElementsByTagName("input")[i].name + "=" +
                  obj.getElementsByTagName("input")[i].value + "&";
          }
    } 
    if (obj.getElementsByTagName("input")[i].tagName == "SELECT") {
        var sel = obj.getElementsByTagName("input")[i];
        getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
    }
   
  }
makeRequest('test_2.asp', getstr);
}

</script>





og følgende form

<form action="java script:get(document.getElementById('myform'));" name="myform" id="myform">
  <table width="500" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td>&nbsp;</td>
      <td><input type="text" name="myfield" value="teststring">
</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type="radio" name="myradio" value="0" checked> 0
<input type="radio" name="myradio" value="1"> 1</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type="checkbox" name="mycheck1" value="1"> 1
<input type="checkbox" name="mycheck2" value="2"> 2
<input type="checkbox" name="mycheck3" value="3"> 3
<input type="checkbox" name="mycheck4" value="4"> 4
<input type="checkbox" name="mycheck5" value="5"> 5
</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><select name="myselect">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>
<input type="submit" name="button" value="Normal Submit Button"></td>
    </tr>
  </table>
</form>

<br><br>
Server-Response:<br>
<span name="myspan" id="myspan"></span>
Avatar billede mireigi Novice
20. december 2008 - 12:31 #1
tagName for en SELECT er "select" og ikke "input".

if (obj.getElementsByTagName("select")[i].tagName == "SELECT") {
        var sel = obj.getElementsByTagName("select")[i];
        getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";

Det burde virke.
Avatar billede mitbrugernavn Praktikant
20. december 2008 - 12:45 #2
no

den går i ged på
for (i=0; i<obj.getElementsByTagName("input").length; i++) {
Avatar billede olebole Juniormester
20. december 2008 - 17:52 #3
<ole>

- så ville det nok være en god idé at beskrive geden  =)

/mvh
</bole>
Avatar billede mitbrugernavn Praktikant
21. december 2008 - 09:49 #4
geden er fanget ;-)) - det hjalp at hoppe en dag over -

function get(obj) {
  var getstr = "?";


  for (i=0; i<obj.getElementsByTagName("input").length; i++) {
        if (obj.getElementsByTagName("input")[i].type == "text") {
          getstr += obj.getElementsByTagName("input")[i].name + "=" +
                  obj.getElementsByTagName("input")[i].value + "&";
        }
        if (obj.getElementsByTagName("input")[i].type == "checkbox") {
          if (obj.getElementsByTagName("input")[i].checked) {
              getstr += obj.getElementsByTagName("input")[i].name + "=" +
                  obj.getElementsByTagName("input")[i].value + "&";
          } else {
              getstr += obj.getElementsByTagName("input")[i].name + "=&";
          }
        }
        if (obj.getElementsByTagName("input")[i].type == "radio") {
          if (obj.getElementsByTagName("input")[i].checked) {
              getstr += obj.getElementsByTagName("input")[i].name + "=" +
                  obj.getElementsByTagName("input")[i].value + "&";
          }
    } 
}


  for (i=0; i<obj.getElementsByTagName("select").length; i++) {

    if (obj.getElementsByTagName("select")[i].tagName == "SELECT") {
        var sel = obj.getElementsByTagName("select")[i];
        getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
    }
      }
 
makeRequest('test_1.asp', getstr);
}

jeg skulle lige have et gennemløb at select med også
smid et svar begge 2.
Avatar billede mireigi Novice
21. december 2008 - 12:10 #5
Det var så lidt :)

MiReiGi
Avatar billede mitbrugernavn Praktikant
21. december 2008 - 13:56 #6
læg et svar så jeg kan give point ;-))
Avatar billede mireigi Novice
21. december 2008 - 14:17 #7
Ahh, my bad :)
Avatar billede olebole Juniormester
21. december 2008 - 15:29 #8
Jeg hopper over julegeden for denne gang - men tak for tilbudet  *<|;o)
Avatar billede mitbrugernavn Praktikant
21. december 2008 - 16:52 #9
helt ok - rigtig glædelig jul til jer.
Avatar billede olebole Juniormester
21. december 2008 - 17:15 #10
Tak, i lige måde  =)
Avatar billede roenving Novice
31. december 2008 - 00:56 #11
Er det ikke meget lettere at:

...
  var sels = obj.getElementsByTagName("select");
  for (i=0, im=sels.length; im > i; i++) {
    getstr += sels[i].name + "=" + sels[i].value + "&";
  }
...
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