Avatar billede dannv Nybegynder
22. november 2004 - 13:53 Der er 17 kommentarer og
1 løsning

Problemer med script

Nedenstående script benytter jeg til at hente data fra en iframe, over i min main frame. Her ligges de i text boxe hvor jeg så kan hente/bruge værdierne.

Scriptet har roenvig leveret. Det var oprindeligt lavet så det hentede værdien af alle checkboxe med et bestemt navn.

Jeg har så udvidet det med et textfelt som jeg henter værdien fra også. Dette virker.

Nu har jeg så tilføjet yderlige to checkboxe som ikke hænger sammen med de øvrige textboxe, og så gives der fejl!!

Kan nogen se hvad jeg gør galt??

function getValue1(f){

  var val = "";
  ifrChecks = window.frames['list_frame1'].document.analysis.idArray;
  for(i=0;ifrChecks.length>i;i++){
    if(ifrChecks[i].checked)val += ", " + ifrChecks[i].value;
  } 
 
  f.id_field1.value = (val)?val.substring(2):"";
 
  //get the value of the text field
  var text = window.frames['list_frame1'].document.analysis.criteria.value;
  f.search_field1.value = text;
 
  //get the value of the check box for numeric search
  var numeric_1 = window.frames['list_frame1'].document.analysis.numeric.value;
  f.numeric1 = numeric_1;
 
  //get the value of the check box for text search
  var text_1 = window.frames['list_frame1'].document.analysis.text.value;
  f.text1 = text_1;
}
Avatar billede ldanielsen Nybegynder
22. november 2004 - 14:05 #1
Enten skal roenving ind over, eller vi skal se hvad der er i iFrame'en
Avatar billede dannv Nybegynder
22. november 2004 - 14:10 #2
Her kommer html koden som udgør en typisk iframe som jeg henter data fra:

<html>
<head>
<title>Create a list of analysis</title>
</head>
<body>

<form method="post" name="analysis">
    <table class="special" width="100%" height="100%" cellpadding="0" cellspacing="0">
        <tr>
            <td class="blue" align="center" width="33%"><b>done7</b></td>
            <td class="blue" align="center" width="10%"><b>Version</b></td>
            <td class="blue" align="center" width="30%"><b>Field Name</b></td>
            <td class="blue" align="center" width="10%"><b>Type</b></td>
            <td class="blue" align="center" width="10%"><b>Unit</b></td>
            <td class="blue" align="center" width="7%"><b>Incl.</b></td>
        </tr>
        <tr>
            <td valign="top" width="260">
                <TABLE>
                    <tr valign="top">
                        <th align="left">Search for result:</th>
                    </tr>
                    <tr valign="top">
                        <td><input size="34" type="text" name="criteria"/></td>
                    </tr>
                    <tr valign="top">
                        <td>
                            <input type="checkbox" name="numeric" checked="checked"/>Numeric
                            <input type="checkbox" name="text" value="text"/>Text
                        </td>
                    </tr>               
                    <tr valign="top">
                        <td><br><a href="http://XXX">Return To List</a>
                        </td>
                    </tr>
                </TABLE>
            </td>
            <td colspan="5" width="540" valign="top">
                <table width="100%" border="0">
                   
        <tr class="special"><td width="81" align="center" rowspan="2"><b>1</b></td><td width="252">field1</td>
            <td width="80">numeric</td>
            <td width="82">%</td>
            <td width="56" align="center">
                <input type="checkbox" name="idArray" value="321" checked="checked">
            </td>
        </tr>
        <tr class="special">
            <td width="252">field2</td>
            <td width="80">numeric</td>
            <td width="82">%</td>
            <td width="56" align="center">
                <input type="checkbox" name="idArray" value="322" checked="checked">
            </td>
        </tr>
                       
                </table>
            </td>
    </table>
</form>

</body>
</html>
Avatar billede ldanielsen Nybegynder
22. november 2004 - 14:28 #3
Jeg kan ikke se at der er flere felter end dem der bliver behandlet i scriptet??
Avatar billede dannv Nybegynder
22. november 2004 - 14:31 #4
Det kan jeg heller ikke!! Og derfor kan jeg ikke forstå at det ikke virker!!
Avatar billede dannv Nybegynder
22. november 2004 - 14:39 #5
Oprindeligt var der kun checkboxene med navnet idArray. alle andre har jeg tilføjet til iframe og script efterfølgende. som sagt kan jeg godt hente værdi fra textfield 'criteria', men ikke fra checkbox 'numeric' og 'text'.
Avatar billede ldanielsen Nybegynder
22. november 2004 - 14:46 #6
Ok, så forstår jeg.

Du beder om value for checkboxene, og jeg tror på at det virker, men de har jo ingen value, vel?

Desuden vil en checkbox's value være den samme uanset om der er kryds i den eller ej, så er det du vil ikke at finde ud af om den er checked eller ej?
Avatar billede ldanielsen Nybegynder
22. november 2004 - 14:52 #7
Sorry, der er value på text, ikke på numeric.

Se her:

//get the value of the check box for text search
var text_1 = (window.frames['list_frame1'].document.analysis.text.checked) ? "text": "ikke valgt";
f.text1 = text_1;

nu skulle der stå "text" eller "ikke valgt", afhængig af om der er kryds i den eller ej

Hold lige øje med at der ikke er fejl i scriptet, du skal kigge efter et gult ikon nederst til venstre i statuslinien
Avatar billede dannv Nybegynder
22. november 2004 - 15:02 #8
Der kommer fejl:

Object does not support property or method

hjælper det??
Avatar billede ldanielsen Nybegynder
22. november 2004 - 15:06 #9
hvilken linie? Og er det en fejl fra FØR du har lavet min rettelse?
Avatar billede dannv Nybegynder
22. november 2004 - 15:06 #10
Script ser nu således ud:

function getValue1(f){

  var val = "";
  ifrChecks = window.frames['list_frame1'].document.analysis.idArray;
  for(i=0;ifrChecks.length>i;i++){
    if(ifrChecks[i].checked)val += ", " + ifrChecks[i].value;
  } 
 
  f.id_field1.value = (val)?val.substring(2):"";
 
  //get the value of the text field
  var text = window.frames['list_frame1'].document.analysis.criteria.value;
  f.search_field1.value = text;
 
  //get the value of the check box for numeric search
  var numeric_1 = (window.frames['list_frame1'].document.analysis.numeric.checked) ? "numeric": "ikke valgt";
  f.numeric1 = numeric_1;
 
  //get the value of the check box for text search
  var text_1 = (window.frames['list_frame1'].document.analysis.text.checked) ? "text": "ikke valgt";
  f.text1 = text_1;
}

og der et tilføjet value til numeric felt i iframe
Avatar billede dannv Nybegynder
22. november 2004 - 15:07 #11
Med ovenstående gives den nævnte fejl i
line 43
char 3
Avatar billede ldanielsen Nybegynder
22. november 2004 - 15:08 #12
Den value er nu ligegyldig nu, men hvilken linie er det?
Avatar billede dannv Nybegynder
22. november 2004 - 15:13 #13
var
line 43
char 3

ok??
Avatar billede ldanielsen Nybegynder
22. november 2004 - 15:22 #14
Nej :o)

Jeg ved jo ikke hvilken linie det er, hvad står der i linien?

Det kunne være at du ikke har oprettet det to felter numeric1 og text1
Avatar billede dannv Nybegynder
22. november 2004 - 20:49 #15
linien der giver fejlen:

Object does'nt support property or method er:

var numeric_1 = (window.frames['list_frame1'].document.analysis.numeric.checked) ? "numeric": "ikke valgt";
Avatar billede ldanielsen Nybegynder
22. november 2004 - 21:53 #16
Der mangler jo .value to steder:

f.text1.value = text_1;

og:
f.numeric1.value = numeric_1;
Avatar billede dannv Nybegynder
23. november 2004 - 08:18 #17
OK det lader til at det fungerer så...

svar!!!
Avatar billede ldanielsen Nybegynder
23. november 2004 - 09:05 #18
Ok, og good luck
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