Avatar billede donslund Nybegynder
01. november 2004 - 10:05 Der er 24 kommentarer og
1 løsning

er null eller ikke et objekt.

Jeg får at vide, at document.rediger340.email er null eller ikke et objekt. Kildekoden for formularen ser således ud:

<form name=rediger340 action='/Default.aspx?id=340&action=write' method=post><table width='300' cellspacing=0 cellpadding=0><tr><td  class='section' colspan=1 rowspan=1 align=left valign=top width=100><label for=newsletter_name>Navn:</label></td><td  class='section' colspan=1 rowspan=1 align=left valign=top width=200><input name=name size=35 value='' id=newsletter_name title='Navn'></td></tr><tr><td  class='section' colspan=1 rowspan=1 align=left valign=top width=100><label for=newsletter_email>E-mail:</label></td><td  class='section' colspan=1 rowspan=1 align=left valign=top width=200><input name=email size=35 value='' id=newsletter_email title='E-mail'></td></tr><tr><td  class='section' colspan=1 rowspan=1 align=left valign=top width=100><label for=newsletter_company>Firma:</label></td><td  class='section' colspan=1 rowspan=1 align=left valign=top width=200><input name=company size=35 value='' id=newsletter_company title='Firma'></td></tr><tr><td  class='section' colspan=1 rowspan=1 align=left valign=top width=100><label for=newsletter_phone>Telefon:</phone></td><td  class='section' colspan=1 rowspan=1 align=left valign=top width=200><input name=phone size=15 value='' id=newsletter_phone title='Telefon'></td></tr><tr><td  class='section' colspan=1 rowspan=1 align=left valign=top width=100></td><td  class='section' colspan=1 rowspan=1 align=left valign=top width=200><span class=section><input type=submit value='Tilmeld'></span></td></tr><tr class=fixwidths><td><img alt='' src='/setup/1x1.gif' height=1 width='100'/></td><td><img alt='' src='/setup/1x1.gif' height=1 width='200'/></td></tr></table></form>

Så jeg forstår ikke at det ikke virker at sætte:
document.rediger340.email.-value = "Hej";
Avatar billede donslund Nybegynder
01. november 2004 - 10:06 #1
altså: document.rediger340.email.value = "Hej";
Avatar billede mcgoat Nybegynder
01. november 2004 - 10:11 #2
<input name=email size=35 value='' id=newsletter_email title='E-mail'>
du skal liiiige huske at definere hvilket slags felt det er... prøv med:

<input type="text" name=email size=35 value='' id=newsletter_email title='E-mail'>
Avatar billede mcgoat Nybegynder
01. november 2004 - 10:12 #3
skal du huske med alle dine <input> husk type=
Avatar billede mcgoat Nybegynder
01. november 2004 - 10:13 #4
og husk " " f.eks her:
<form name="rediger340" action='/Default.aspx?id=340&action=write' method="post"><
Avatar billede donslund Nybegynder
01. november 2004 - 10:34 #5
Nu har jeg ikke særligt meget kontrol over selve koden da det er et cms system hvori jeg forsøger at forudfylde et emailfelt.
Men er min document.rediger340.... kode forkert?
Avatar billede mcgoat Nybegynder
01. november 2004 - 10:38 #6
skulle den ikke være nej.. du kan prøve uden document foran...
Kører du WinXp Sp2?
hvordan ser dit javascript ud?
Avatar billede donslund Nybegynder
01. november 2004 - 11:28 #7
Ja, jeg kører SP2

Koden:
function hentTekst(){
// alert('hep');
document.rediger340.email.value = "Hej";
}
window.onload = hentTekst();
Avatar billede donslund Nybegynder
01. november 2004 - 11:29 #8
Hvis jeg prøver uden document får jeg at vide, at rediger340 ikke er defineret.
Avatar billede mcgoat Nybegynder
01. november 2004 - 13:30 #9
paste lige din nye kode herind efter du har rettet de ting jeg sagde... også javascriptet
Avatar billede donslund Nybegynder
01. november 2004 - 15:06 #10
Jamen der er ikke ændret noget. Koden er stadigvæk som ovenfor både javascriptet og kildekoden.
Avatar billede donslund Nybegynder
01. november 2004 - 15:11 #11
Kildekoden:
<form name=rediger340 action='/page340.aspx?action=write' method=post><table width='300' cellspacing=0 cellpadding=0><tr><td  class='section' colspan=1 rowspan=1 align=left valign=top width=100><label for=newsletter_name>Navn:</label></td><td  class='section' colspan=1 rowspan=1 align=left valign=top width=200><input name=name size=35 value='' id=newsletter_name title='Navn'></td></tr><tr><td  class='section' colspan=1 rowspan=1 align=left valign=top width=100><label for=newsletter_email>E-mail:</label></td><td  class='section' colspan=1 rowspan=1 align=left valign=top width=200><input name=email size=35 value='' id=newsletter_email title='E-mail'></td></tr><tr><td  class='section' colspan=1 rowspan=1 align=left valign=top width=100><label for=newsletter_company>Firma:</label></td><td  class='section' colspan=1 rowspan=1 align=left valign=top width=200><input name=company size=35 value='' id=newsletter_company title='Firma'></td></tr><tr><td  class='section' colspan=1 rowspan=1 align=left valign=top width=100><label for=newsletter_phone>Telefon:</phone></td><td  class='section' colspan=1 rowspan=1 align=left valign=top width=200><input name=phone size=15 value='' id=newsletter_phone title='Telefon'></td></tr><tr><td  class='section' colspan=1 rowspan=1 align=left valign=top width=100></td><td  class='section' colspan=1 rowspan=1 align=left valign=top width=200><span class=section><input type=submit value='Tilmeld'></span></td></tr><tr class=fixwidths><td><img alt='' src='/setup/1x1.gif' height=1 width='100'/></td><td><img alt='' src='/setup/1x1.gif' height=1 width='200'/></td></tr></table></form>

java script:
function hentTekst(){
// alert('hep');
document.rediger340.email.value = "hej";
}
window.onload = hentTekst();
Avatar billede mcgoat Nybegynder
01. november 2004 - 15:21 #12
mine svar 1/11-2004 KL:
10:11:40
10:12:50
10:13:46

tror du skal rette det først :)
Avatar billede roenving Novice
01. november 2004 - 15:27 #13
Du har et par paranteser for meget:

window.onload = hentTekst;
Avatar billede donslund Nybegynder
01. november 2004 - 15:28 #14
Men de ting har jeg ikke selv kontrol over. Desværre. Så hvis det er det der er i vejen, så er der ikke noget at gøre ved det.
Avatar billede mcgoat Nybegynder
01. november 2004 - 15:29 #15
Det her virker ikke:
<html>
<head>
<script language="javascript">
function hentTekst(){
alert('hep');
document.rediger340.email.value = "Hej";
}
window.onload = hentTekst();
</script>
</head>
<body>

<form name=rediger340 action=blah.htm method=post>
<input name=email>

</form>

</body>
</html>

men dette kommer ikke med fejl:
<html>
<head>
<script language="javascript">
function hentTekst(){
alert('hep');
document.rediger340.email.value = "Hej";
}
window.onload = hentTekst();
</script>
</head>
<body>

<form name="rediger340" action=blah.htm method=post>
<input name="email">

</form>

</body>
</html>

du skal huske " " omkring name :)
Avatar billede donslund Nybegynder
01. november 2004 - 15:30 #16
Hvis jeg fjerner de to paranteser, så fejler den ikke mere, men feltet bliver heller ikke udfyldt.
Avatar billede mcgoat Nybegynder
01. november 2004 - 15:30 #17
Ahhh... ser også ud til at virke hvis man fjerner () ja... men der er mange ting ivejen med den html.. hehe... ikke så pro....
Avatar billede mcgoat Nybegynder
01. november 2004 - 15:31 #18
det skulle du da gerne... ligger dit javascript ikke oppe i head?
<head>
<script language="javascript">
</script>
</head>

????
Avatar billede olebole Juniormester
01. november 2004 - 23:12 #19
<ole>

Dette er forkert:
  window.onload = hentTekst();

Der skal stå:
  window.onload = hentTekst;
eller:
  window.onload = function (){
      hentTekst();
  }

Dette virker:

<html>
<head>
<script language="javascript">
function hentTekst(){
alert('hep');
document.rediger340.email.value = "Hej";
}
window.onload = hentTekst;
</script>
</head>
<body>

<form name="rediger340" action=blah.htm method=post>
<input name="email">
</form>

</body>
</html>

/mvh
</bole>
Avatar billede olebole Juniormester
01. november 2004 - 23:32 #20
mcgoat >> Der er absolut ikke '... meget ivejen med den html ...' - tværtimod. I forhold til HTML4.01-Trans er der én fejl: '</phone>'.

Alle attributter, som kræver gåseøjne, har gåseøjne. Det er rigtigt, at det kan være en fordel at skrive gåseøjne om alle attributter - men det betyder ikke, de _skal_ være der. Den eneste grund, der er til altid at skrive dem, er, at så glemmer man dem ikke de få gange, hvor de er nødvendige  :)
Avatar billede donslund Nybegynder
02. november 2004 - 07:39 #21
Men hvis "" ikke er påkrævet, hvordan løser jeg så problemet. Min Javscript-kode ligger i en .js fil som der linkes til i head'en.
Avatar billede olebole Juniormester
02. november 2004 - 07:52 #22
Du kalder med:
  document.rediger340.email.value = "Hej";
efter formen er skrevet ud til siden - evt. på onload. Hvis der ikke er andre onload-handlers i dokumentet, kan du skrive:

function hentTekst(){
  alert('hep');
  document.rediger340.email.value = "Hej";
}
window.onload = hentTekst;

Så _skal_ det virke. Virker det ikke, må du lave andre fejl - og så må du lægge en URL. Ellers er det ikke til at hjælpe  :)
Avatar billede donslund Nybegynder
02. november 2004 - 08:30 #23
Jeg smider lige hele mit Javascript dokument. Måske er der noget der konflikter. Det er der sikkert ;-)

ie = (document.all&&!window.opera)?1:0;

if(ie)
  window.attachEvent("onload",noget);
else
  window.addEventListener('load',noget,false);

  function noget(){
  try{
  e = document.rediger.paymethod;
  //ok
  // document.rediger.paymethod.value = 2;
  document.rediger.delivery.value = 1;

  // alert("feltet "+e.name+" er her og jeg planlægger den vildeste funktion");
  }
  catch(e){
    // alert("feltet "+e.name+" er her ikke");
  }
}

function setBetaling() {
document.rediger.pay(shoppinglist_MINUS14).value = 2;
document.rediger.pay(shoppinglist_MINUS15).value = 1;
}

function hentTekst(){
alert('hej');
  document.rediger340.email.value = res['value'];
}
window.onload = hentTekst;
Avatar billede donslund Nybegynder
29. november 2004 - 17:08 #24
Jeg løste det.
Avatar billede donslund Nybegynder
29. november 2004 - 17:08 #25
Hovsa! Point til dem der vil have.
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