Hoe kan ik een formulier indienen met JavaScript?

Ik heb een formulier met id theFormmet de volgende div met een verzendknop erin:

<div id="placeOrder"
     style="text-align: right; width: 100%; background-color: white;">
    <button type="submit"
            class='input_submit'
            style="margin-right: 15px;"
            onClick="placeOrder()">Place Order
    </button>
</div>

Als erop wordt geklikt, wordt de functie placeOrder()aangeroepen. De functie verandert de innerHTML van de bovenstaande div in “processing …” (dus de verzendknop is nu verdwenen).

De bovenstaande code werkt, maar nu is het probleem dat ik het formulier niet kan verzenden! Ik heb geprobeerd dit in de functie placeOrder()te plaatsen:

document.theForm.submit();

Maar dat werkt niet.

Hoe kan ik het formulier verzenden?


Antwoord 1, autoriteit 100%

Stel het nameattribuut van uw formulier in op "theForm"en uw code zal werken.


Antwoord 2, autoriteit 78%

U kunt gebruiken…

document.getElementById('theForm').submit();

…maar nietvervang de innerHTML. U kunt het formulier verbergen en vervolgens een processing…spaninvoegen die op zijn plaats verschijnt.

var form = document.getElementById('theForm');
form.style.display = 'none';
var processing = document.createElement('span');
processing.appendChild(document.createTextNode('processing ...'));
form.parentNode.insertBefore(processing, form);

Antwoord 3, autoriteit 27%

In mijn geval werkt het perfect.

document.getElementById("form1").submit();

U kunt het ook gebruiken in een functie zoals hieronder:

function formSubmit()
{
    document.getElementById("form1").submit();
}

Antwoord 4, autoriteit 12%

document.forms["name of your form"].submit();

of

document.getElementById("form id").submit();

Je kunt dit allemaal proberen…dit zal zeker werken…


Antwoord 5, autoriteit 6%

Ik laat de manier waarop ik doe om het formulier in te dienen zonder de tag namein het formulier te gebruiken:

HTML

<button type="submit" onClick="placeOrder(this.form)">Place Order</button>

JavaScript

function placeOrder(form){
    form.submit();
}

Antwoord 6, autoriteit 2%

HTML

<!-- change id attribute to name  -->
<form method="post" action="yourUrl" name="theForm">
    <button onclick="placeOrder()">Place Order</button>
</form>

JavaScript

function placeOrder () {
    document.theForm.submit()
}

Antwoord 7, autoriteit 2%

Als uw formulier geen id heeft, maar een klassenaam heeft zoals theForm, kunt u het onderstaande statement gebruiken om het in te dienen:

document.getElementsByClassName("theForm")[0].submit();

Antwoord 8, autoriteit 2%

U kunt de onderstaande code gebruiken om het formulier in te dienen met JavaScript:

document.getElementById('FormID').submit();

Antwoord 9, autoriteit 2%

<html>
    <body>
        <p>Enter some text in the fields below, and then press the "Submit form" button to submit the form.</p>
        <form id="myForm" action="/action_page.php">
          First name: <input type="text" name="fname"><br>
          Last name: <input type="text" name="lname"><br><br>
          <input type="button" onclick="myFunction()" value="Submit form">
        </form>
        <script>
            function myFunction() {
                document.getElementById("myForm").submit();
            }
        </script>
    </body>
</html>

Antwoord 10

Ik heb een eenvoudige oplossing bedacht met een eenvoudig formulier dat op mijn website is verborgen met dezelfde informatie als waarmee de gebruikers zich hebben aangemeld. Voorbeeld: Als u wilt dat een gebruiker op dit formulier is ingelogd, kunt u iets als dit toevoegen aan het onderstaande formulier.

<input type="checkbox" name="autologin" id="autologin" />

Voor zover ik weet ben ik de eerste die een formulier verbergt en verzendt door op een link te klikken. Er is de link om een ​​verborgen formulier met de informatie in te dienen. Het is niet 100% veilig als u niet van automatische inlogmethoden op uw website houdt met wachtwoorden in een verborgen wachtwoordtekstgebied…

Ok, hier is het werk. Laten we zeggen dat $siteidhet account is en $sitepwhet wachtwoord is.

Maak eerst het formulier in je PHP-script. Als je niet van HTML houdt, gebruik dan minimale gegevens en echoin de waarde in een verborgen vorm. Ik gebruik gewoon een PHP-waarde en echo in waar ik maar wil, naast de formulierknop, want je kunt het niet zien.

PHP-formulier om af te drukken

$hidden_forum = '
<form id="alt_forum_login" action="./forum/ucp.php?mode=login" method="post" style="display:none;">
    <input type="text" name="username" id="username" value="'.strtolower($siteid).'" title="Username" />
    <input type="password" name="password" id="password" value="'.$sitepw.'" title="Password" />
</form>';

PHP en link om formulier in te dienen

<?php print $hidden_forum; ?>
<pre><a href="#forum" onClick="javascript: document.getElementById('alt_forum_login').submit();">Forum</a></pre>

Other episodes