Avatar billede aerobee Nybegynder
02. december 2007 - 17:39 Der er 11 kommentarer og
1 løsning

passOn is not defined

Hvad er der galt her?
Jeg får fejlen passOn is not defined, og passOn er jo navnet på min funktion.

********Kode**********
<!-- Submit search form -->
<script type="text/javascript">
function passOn(){
    ajaxLoader("pages/searchpage.php?search=" + searchform.search.value +,"area",this,"maintab:7:active");
};
</script>

<!-- Search -->
<div id="search" class="noprint">
    <form action="" method="post" name="searchform">
            <span id="search-input-out"><input type="text" name="search" id="search-input" size="30" /></span>
            <a id="hand" onclick="java script:passOn()"><div id="search-submit"></div></a>
            <!--<input type="image" src="images/_blank.gif" id="search-submit" value="" />-->
    </form>
</div>
<!-- /search -->
Avatar billede erikjacobsen Ekspert
02. december 2007 - 17:46 #1
Du har i hvert fald syntaksfejl i denne linie:

    ajaxLoader("pages/searchpage.php?search=" + searchform.search.value +,"area",this,"maintab:7:active");

Der står sådan et "+" og flagrer ... hvad skal der plusses?
Avatar billede erikjacobsen Ekspert
02. december 2007 - 17:47 #2
Men det fortæller din browser dig vel?
Avatar billede aerobee Nybegynder
02. december 2007 - 17:51 #3
Du tænker på plusset i denne linje?
searchform.search.value +,"area

Ja det var da en fejl, nu får jeg så fejlen at:
searchform is not defined

Jeg er mere php mand end js mand..
Hvordan skal jeg definere variablen searchform ?
Avatar billede erikjacobsen Ekspert
02. december 2007 - 17:54 #4
Du skal lade være med at programmere js som man gjorde i sidste årtusinde. Erstat

  searchform.search.value

med det der altid virker (når du nu har en id på feltet):

  document.getElementById("search-input").value
Avatar billede aerobee Nybegynder
02. december 2007 - 17:59 #5
Så spiller det jo, mange tak :)
Jeg havde ellers fået det til at virke efter jeg fik fejlen i indlæg (02/12-2007 17:51:15) ved at sende en parameter med, searchform - men naturligvis kan jeg se at dit forslag herover er en hel del nemmere.

Jeg takker for hjælpen.
Smid du et svar så du kan få nogle points.

Et lille tillægsspørgsmål, senere hen får jeg behov for at sende flere parametre afsted fra en formular på denne måde, lad os antage at jeg skal have sendt 10 parametre afsted, så bliver det pludselig en lang streng, (Den der starter med ajaxLoader).
Har du eventuel en idé på at gøre dette nemmere/mere overskuelig?
Avatar billede erikjacobsen Ekspert
02. december 2007 - 18:05 #6
Nej ikke umiddelbart - pas på du ikke kommer op på 2000 tegn eller flere. Ellers skal du bruge POST til din Ajax.

Værdierne skal egentlig url-encodes, hvis de indeholder tegn, der fortolkes i URL-en.

Jeg samler slet ikke på point, tak.
Avatar billede aerobee Nybegynder
02. december 2007 - 18:13 #7
Ideen bag ovenstående script er at jeg skal sende indhold fra en formular ind i mit ajax script. Intet sted på sitet må hele siden "refreshe" men kun indholdet, derfor denne "omvej" for at modtage info fra en formular.

Som du nok har bemærket er dette blot en søgeformular, meget smart, man kan nu søge uden hele siden skal reloades. Men senere kommer jeg til "send en email" formular og "opret en bruger" og begge formularere kræver jo nok lidt mere end et enkelt formular felt, og email formularer kræver sikkert et textarea - så jeg begynder allerede nu at frygte det værste udfra det du skrev tidligere.. Max 2000 tegn..

Hmmm, tricky
Avatar billede aerobee Nybegynder
02. december 2007 - 18:21 #8
tager lige points eftersom du takkede pænt nej...
Avatar billede erikjacobsen Ekspert
02. december 2007 - 19:21 #9
Det behøver ikke være "tricky" + brug Ajax med POST
Avatar billede aerobee Nybegynder
02. december 2007 - 19:29 #10
Så er vi ude i det igen Erik.
Jeg er ikke js mand, så jeg ved ikke hvordan jeg skal bruge POST med AJAX.
Med min lille erfaring indenfor js var det eneste jeg kunne komme på, at fange indholdet af felterne uden at "submitte" formularen.

For hvis jeg "submitter" formen reloader siden jo (traditionelt). Det kan sikkert undgås med AJAX, men som sagt er min viden på det område desværre meget minimal.
Avatar billede erikjacobsen Ekspert
02. december 2007 - 19:40 #11
Det er ikke "rocket science" at bruge en POST. Måske din ajaxLoader kan allerede - jeg kender den ikke. Ellers bliv ven med Google ;)
Avatar billede aerobee Nybegynder
02. december 2007 - 19:51 #12
Er jeg skam også :)
Tak for hjælpen Erik.
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