[html][js]Submit form via link

Pagina: 1
Acties:

  • Cai
  • Registratie: December 2001
  • Laatst online: 11:47
Doel: form posten via link.(betreft een faq db updaten)

Inhoud: 2 tekstvelden(vraagt en antwoordt)

Form:
HTML:
1
  <form name="form1" method="post" action="specifiek.asp?faq=<%=faq%>&wijzig=true">


Link in form:
HTML:
1
        <td width="25%"><font color="#000033"><a href="" onClick="verstuur();">Wijzig</a></font></td>


functie verstuur:
HTML:
1
2
3
4
5
6
7
8
9
10
<script language="JavaScript">
<!-- //
function verstuur()
{
    alert("Werken");
    document.forms[0].submit();
    alert("2e");
}
// -->
</script>


Ik heb een response.write onderaan de pagina waar ik de request.form waardes te zien krijg.

Als ik op de link druk krijg te zien: Werken(druk op ok),2e(druk op ok), en vervolgens de pagina die standaard is in de folder.(dit is logisch want ik heb bij a href niks ingevuld)

Dit betekend dat er dus niks gedaan word met de submit, anders zou de browser naar de pagina specifiek.asp gaan.

Opmerkelijke is, ik heb als test een submit button geplaatst.en......Werken

Krijg de ingevoerde waardes onderin schrem te zien nadat de pagina zichzelf herlaad.

Waar ga ik de mist in.

Ik heb gegoogled, weinig behalve de tutorials(ik moet wat over het hoofd zien |:( )
Gesearched en kwam ook niet echt verder.

Loop zelf elke keer te rotzooien met de syntaxis te veranderen van de zin:
document.forms[0].submit();

maar tot nu toe weinig succes

[ Voor 9% gewijzigd door Cai op 16-10-2003 14:45 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

In plaats van

HTML:
1
2
3
<a href="" ...

<a href="JavaScript://" ...

gebruiken werkt ook niet?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 20:27

crisp

Devver

Pixelated

is het het enige form in je document?
probeer anders:
JavaScript:
1
document.forms['form1'].submit();


heb je toevallig ergens name="submit" gebruikt?
waarom GET vars in je action stoppen - die kan je imho beter als hidden vars opnemen zodat ze ook in je POST request zitten - eenduidigheid = betere onderhoudbaarheid.
Zet iets in je href attribuut - geen lege string!

edit: voorbeeld:
HTML:
1
<a href="javascript://" onclick="verstuur();return false">Klikkerdeklik</a>


en verder kan ik nog wel wat ranten over ranzige font-tags, overbodige hide-this-script dingetjes en het gebrek aan een type-declaratie in je script-tag, maar dat doe ik maar niet...

[ Voor 16% gewijzigd door crisp op 16-10-2003 14:55 ]

Intentionally left blank


  • Cai
  • Registratie: December 2001
  • Laatst online: 11:47
is t enige form ja

  • Cai
  • Registratie: December 2001
  • Laatst online: 11:47
HTML:
1
        <td width="25%"><font color="#000033"><a href="JavaScript://" onClick="verstuur();return false">Wijzig</a></font></td>

en
HTML:
1
2
3
4
5
6
7
8
9
10
script language="JavaScript">
<!-- //
function verstuur()
{
    alert("Werken");
    document.forms['form1'].submit();
    alert("2e");
}
// -->
</script>


Het script word gerund(weet ik door de alerts) hij keert terug op de goede pagina, maar als ik de request.querystring van wijzig uitlees, staat die op false, terwijl die bij de onchage event van Form1 op true word gezet

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 20:27

crisp

Devver

Pixelated

laat dan je complete javascript en form eens zien

Intentionally left blank


  • Cai
  • Registratie: December 2001
  • Laatst online: 11:47
form:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 <form name="form1" method="post" action="specifiek.asp?faq=<%=faq%>&wijzig=true">
    <table width="98%" border="0" cellspacing="0" cellpadding="00">
      <tr> 
        <td width="25%"><font color="#000033"></font></td>
        <td width="25%"><font color="#000033"><a href="JavaScript://" onClick="verstuur();return false">Wijzig</a></font></td>
        <td width="25%"><font color="#000033"><a href="specifiek.asp?faq=<%=faq%>&verwijder=true">Verwijder</a></font></td>
        <td width="25%"><font color="#000033"></font></td>
      </tr>
      <tr> 
        <td width="25%" height="13"><font size="1" color="#000033"></font></td>
        <td width="25%" height="13"><font size="1" color="#000033"></font></td>
        <td width="25%" height="13"><font size="1" color="#000033"></font></td>
        <td width="25%" height="13"><font size="1" color="#000033"></font></td>
      </tr>
      <tr> 
        <td width="25%" align="left" valign="top"><font color="#000033">Vraag</font></td>
        <td colspan="3"> <font color="#000033"> 
        <%if (not(recordset1.EOF)) and(not(recordset1.BOF)) then%>
          <input type="text" name="vraagt" size="30" value="<%=(Recordset1.Fields.Item("vraag").Value)%>">
          </font></td>
          <%end if%>
      </tr>
      <tr> 
        <td width="25%" align="left" valign="top"><font color="#000033">Antwoord</font></td>
        <td colspan="3"> <font color="#000033"> 
          <%if (not(recordset1.EOF)) and(not(recordset1.BOF)) then%>
          <textarea name="antwoordt" rows="10" cols="30"><%=(Recordset1.Fields.Item("antwoord").Value)%></textarea>
          <br>
          <input type="submit" name="Submit" value="Submit">
          </font></td>
          <%end if%>
      </tr>
    </table>
  </form>


De javascript code heb je volledig

[pre-flame]
en ja ik gebruik wysiwyg en ja ik weet wel degelijk wat code doe
[/pre-flame]

  • Atari Paul
  • Registratie: November 2002
  • Laatst online: 19:49
Je hoeft alleen het volgende te veranderen: href="" naar href="#"
Hier werkt het dan zowel onder IE 6 als Mozilla 1.4

Stability ?? My Atari still has it :)


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 20:27

crisp

Devver

Pixelated

ik zie nergens een onchange event???

anyway: probeer je variabelen die je nu als GET doorgeeft in je action eens als POST variabelen in hidden inputs te zetten - ik weet nl niet hoe ASP omgaat met gemixed GET en POST

en die name="Submit" heb je die eigenlijk wel nodig? Test je daar toevallig op in je script? Bedenk dan dat IE niet de name en value van je submit button meestuurd als je met JS submit!

Intentionally left blank


  • Cai
  • Registratie: December 2001
  • Laatst online: 11:47
Je hoeft alleen het volgende te veranderen: href="" naar href="#"
Hier werkt het dan zowel onder IE 6 als Mozilla 1.4

Dit was em. Bedankt

  • Phrantic
  • Registratie: Oktober 2003
  • Laatst online: 06-09-2022

Phrantic

booya!

ligt het aan mij of werkt;

code:
1
<a href="javascript:document.sendform.submit()">submit</a>


gewoon?

hoi


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 20:27

crisp

Devver

Pixelated

Phrantic schreef op 16 oktober 2003 @ 16:05:
ligt het aan mij of werkt;

code:
1
<a href="javascript:document.sendform.submit()">submit</a>


gewoon?
als je form sendform heet waarschijnlijk wel ;)
Echter hoor ik nog wel eens over problemen met javascript in hrefs (returnvalue die je document overschrijft - ws een IE bug), en vind ik het zelf prettiger daarvoor de onclick eventhandler te gebruiken. De href kan je dan eventueel nog gebruiken voor een alternatieve actie voor als javascript uitstaat (vergeet dan vooral de return false niet).

[ Voor 6% gewijzigd door crisp op 16-10-2003 16:08 ]

Intentionally left blank


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

crisp schreef op 16 oktober 2003 @ 16:07:
Echter hoor ik nog wel eens over problemen met javascript in hrefs (returnvalue die je document overschrijft - ws een IE bug)
Dat zou op zich vaag zijn, aangezien ASP.Net (gemaakt door MS), min of meer ook deze techniek gebruikt.

[ Voor 8% gewijzigd door gorgi_19 op 16-10-2003 17:12 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 20:27

crisp

Devver

Pixelated

gorgi_19 schreef op 16 October 2003 @ 17:12:
[...]

Dat zou op zich vaag zijn, aangezien ASP.Net (gemaakt door MS), min of meer ook deze techniek gebruikt.
js in een href heeft nog meer nadelen; klik maar eens op deze link (die in feite niets doet) en check de smilie:

klik 8)7

oftewel: animated gifs stoppen met animeren, je pagina stopt met laden (als hij nog aan het laden was) etcetera.
Ik heb met de GoT Tracker wel eens klachten gehad omdat er een <a href="javascript:window.open(...)"> in stond, en dat er dan een extra window werd geopend met [object] erin - zelf nooit gehad eigenlijk, maar het geeft wel iets aan...

Intentionally left blank


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 durft niet te klikken.. :X Crips doet altijd veel te enge dingen.. :+

Maar serieus; ASP.NEt gebruikt deze methodiek alleen voor postbacks naar de server, dus eventueel stoppen van animaties zal geen problemen opleveren. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 20:27

crisp

Devver

Pixelated

gorgi_19 schreef op 16 oktober 2003 @ 17:25:
* gorgi_19 durft niet te klikken.. :X Crips doet altijd veel te enge dingen.. :+

Maar serieus; ASP.NEt gebruikt deze methodiek alleen voor postbacks naar de server, dus eventueel stoppen van animaties zal geen problemen opleveren. :)
ik blijf het vies vinden; een href is voor navigatie en niet voor het uitvoeren van script. In feite is het eigenlijk helemaal onzinnig om een anchor te gebruiken daarvoor, een willekeurig ander element met een onclick attribuut voldoet ook. Het handje en de underline kan je met css ook wel voor elkaar krijgen...

Intentionally left blank

Pagina: 1