Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

auto-submit d.m.v. onchange werkt niet

Anoniem
Annie
18 antwoorden
  • Ik heb de volgende code in een site staan:[code:1:17a503d1a7] <input type="text" onchange="submit()" … />[/code:1:17a503d1a7]Ik verwachtte dat bij een verandering van inhoudt, het formulier gesubmit wordt. De onderstaande code werkt wel[code:1:17a503d1a7]<input type="text" onchange="document.write('hallo wereld')" … />[/code:1:17a503d1a7]

    Weet iemadn waarom de submit niet werkt en hoe dit op te lossen?
  • [quote:9ae9a4b0cb="dJeedJee"]Ik heb de volgende code in een site staan:[code:1:9ae9a4b0cb] <input type="text" onchange="submit()" … />[/code:1:9ae9a4b0cb]Ik verwachtte dat bij een verandering van inhoudt, het formulier gesubmit wordt. De onderstaande code werkt wel[code:1:9ae9a4b0cb]<input type="text" onchange="document.write('hallo wereld')" … />[/code:1:9ae9a4b0cb]

    Weet iemadn waarom de submit niet werkt en hoe dit op te lossen?[/quote:9ae9a4b0cb]
    Dit werkt wel:
    [code:1:9ae9a4b0cb] <input type="text" onchange="this.form.submit()" … />[/code:1:9ae9a4b0cb]
  • [quote:ae8241880e="Annie"][quote:ae8241880e="dJeedJee"]Ik heb de volgende code in een site staan:[code:1:ae8241880e] <input type="text" onchange="submit()" … />[/code:1:ae8241880e]Ik verwachtte dat bij een verandering van inhoudt, het formulier gesubmit wordt. De onderstaande code werkt wel[code:1:ae8241880e]<input type="text" onchange="document.write('hallo wereld')" … />[/code:1:ae8241880e]

    Weet iemadn waarom de submit niet werkt en hoe dit op te lossen?[/quote:ae8241880e]
    Dit werkt wel:
    [code:1:ae8241880e] <input type="text" onchange="this.form.submit()" … />[/code:1:ae8241880e][/quote:ae8241880e]Helaas werkt op een of andere manier ook niet. Zou het niet werken omdat er geen submit-knop in zit. Alleen een submit afbeelding? Hele regel is bijv:[code:1:ae8241880e]<input type="text" name="product_text[1]" value="regel 11ddddd" size="15" onchange="this.form.submit()" />[/code:1:ae8241880e]
  • de input tag moet natuurlijk wel binnen een form-tag staan, anders gaat dit niet werken
  • [quote:0c375c5cb2="marientje"]de input tag moet natuurlijk wel binnen een form-tag staan, anders gaat dit niet werken[/quote:0c375c5cb2]Natuurlijk. Het formulier werkt ook wel, maar de "auto-submit" niet.
  • Ik denk dat dit een antwoord biedt (niet tgene wat je wil, maar wel een antwoord)
    [quote:79f13e2160]Remarks

    This event is fired when the contents are committed and not while the value is changing. For example, on a text box, this event is not fired while the user is typing, but rather when the user commits the change by leaving the text box that has focus. In addition, this event is executed before the code specified by onblur when the control is also losing the focus.

    The onchange event does not fire when the selected option of the select object is changed programatically.[/quote:79f13e2160]

    mssn een beetje smerig, maar wellicht kan je onkeypress gebruiken
  • [quote:c089737d5b="marientje"]Ik denk dat dit een antwoord biedt (niet tgene wat je wil, maar wel een antwoord)
    [quote:c089737d5b]Remarks

    This event is fired when the contents are committed and not while the value is changing. For example, on a text box, this event is not fired while the user is typing, but rather when the user commits the change by leaving the text box that has focus. In addition, this event is executed before the code specified by onblur when the control is also losing the focus.

    The onchange event does not fire when the selected option of the select object is changed programatically.[/quote:c089737d5b]

    mssn een beetje smerig, maar wellicht kan je onkeypress gebruiken[/quote:c089737d5b]maar de onchange werkt wel als ik een tekstje laat schrijven, maar niet als ik het formulier wil laten versturen. Ik vraag me af waarom.
  • volgens mij kan dat 1e dus helemaal niet. Kan je even de volledige code geven, dwz gehele form + evt javacripts? Of een link?
  • [quote:f024b43446="marientje"]volgens mij kan dat 1e dus helemaal niet. Kan je even de volledige code geven, dwz gehele form + evt javacripts? Of een link?[/quote:f024b43446]De omschrijving is wel precies wat ik wil. Maar een hele site is een formulier, dus hierbij de link. http://www.adball.nl/djeedjee
    Bij de tekstinvoer zit de onchange.
  • hm, ik denk dat ik deze zin niet begrijp:
    [quote:c0f68e000d="dJeedJee"]maar de onchange werkt wel als ik een tekstje laat schrijven, maar niet als ik het formulier wil laten versturen. Ik vraag me af waarom.[/quote:c0f68e000d]

    overigens i de laadtijd soms wel erg hoog
  • Dit zie ik in de code staan:
    <
  • [quote:02936724d1="h4xX0r"]Dit zie ik in de code staan:
    <
  • [code:1:43dc98c9e8]
    <form action="http://www.disney.com">
    <input type="iets" onchange="this.parentNode.submit()">
    </form>
    [/code:1:43dc98c9e8]

    Als je de input hebt genest is een id-attribuut op het form handiger:

    [code:1:43dc98c9e8]
    <form id="eenForm" action="http://www.disney.com">
    <input type="iets" onchange="document.getElementById('eenForm').submit()">
    </form>
    [/code:1:43dc98c9e8]

    Probleem was de this.form.submit(), de "this" is een child node van het form, geen parent node.
  • [quote:6d11d39435="Stijn."]Probleem was de this.form.submit(), de "this" is een child node van het form, geen parent node.[/quote:6d11d39435]
    Uh, en nu in begrijpelijk Nederlands? ;)
    Ik snap niet helemaal wat parentNode hier nu mee te maken heeft.
  • "this" verwijst naar de node waarvan (in dit geval) de "onchange" event actief werd. Als je dan verwijst naar "this.form", is "form" blijkbaar een child (oftewel, een form genest in "this") van "this", of een property van "this". Het is juist omgekeerd, de "this" is genest in het "form".

    "form" is sowieso geen geldige property van wat dan ook (behalve als je hem zelf een waarde geeft natuurlijk) volgens mij.
  • "form" is in dit geval een property van "this" (idd het object dat de event triggert). En heeft niets met childnodes of parentnodes (uit de DOM) te maken.

    En voor zover ik weet heeft elk form-element een form-property die verwijst naar het form-object waar deze onderdeel van uitmaakt.

    Onderstaande werkt dan ook gewoon:
    [code:1:645e5dae4b]
    <form id="the-form">
    <input id="the-button" type="button" value="click me"
    onclick="alert(this.id + ' is onderdeel van ' + this.form.id)" />
    </form>
    [/code:1:645e5dae4b]

    Ik begrijp dan ook niet waarom mijn eerste voorbeeld voor de onchange niet werkte.
  • Dat wist ik niet, weer wat geleerd :)

    Ik dacht dat je via form naar het "form"-element wilde verwijzen, vandaar mijn gewauwel over de DOM.
  • Nou, ik heb het antwoord gevonden hoor. De functie submit() werkte niet bij meerdere veldden die een ander type hebben. Zo had ik een type=submit met name=submit, maar ook een type=image met name=submit.

    Blijkbaar werkt die functie zo dat hij virtueel een submit-knop indrukt. Als hij er meerdere vind, zal hij het wel niet doen. Dit is puur speculatie, wan top google kon ik er zo snel niks over vinden. Wel werkt het nu in de site :-)

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.