webentwicklung-frage-antwort-db.com.de

Wie lösche ich den vorherigen Textfeldwert nach dem Senden des Formulars, ohne die gesamte Seite zu aktualisieren?

Ich mache eine Webanwendung mit javascript und html, die ein Formular enthält, das ein Textfeld, eine Schaltfläche enthält. Wenn ich eine Zahl in dieses Textfeld eingebe und diese durch Klicken auf diese Schaltfläche absende, werden Textbereiche dynamisch generiert. Nachdem mein Formular übermittelt wurde, werden einige Textbereiche erstellt. Wenn ich jedoch nicht mit den vorhandenen Textbereichen zufrieden bin, gebe ich wieder einen Wert ohne erfrischende Seite ein. Der zuvor eingegebene Textfeldwert ist jedoch vorherrschend und zeigt die neuen Textbereiche unter den vorhandenen Textbereichen auf der Seite. 

Wie kann ich also den Wert löschen, ohne die Seite zu aktualisieren.

<div>
    <html>
     <input type="text" name = "numquest" id ="numquest" value="" size="5" style="" disabled>
     <input type="button" value="submit" onclick="getFields();">
</div>
    </html>

    <javascript>
      var num_q=document.getElementById('numquest').value;
     //code for dynamic creation
    </javascript>
13
Krish

Sie können den Wert des Elements auf leer setzen

document.getElementById('elementId').value='';
20
Sam

Versuche dies:

Wenn Sie jquery verwenden:

you can reset your form with - $("#myform")[0].reset();

oder

$('#form-id').children('input').val('')

in Javascript

<input type="button" value="Submit" id="btnsubmit" onclick="submitForm()">

function submitForm() {
   // Get the first form with the name
   // Hopefully there is only one, but there are more, select the correct index
   var frm = document.getElementsByName('contact-form')[0];
   frm.submit(); // Submit
   frm.reset();  // Reset
   return false; // Prevent page refresh
}
19
Mr.G

Leere Werte zuweisen:

document.getElementById('numquest').value=null;

oder, wenn Sie alle Formularfelder löschen möchten. Rufen Sie einfach die Formularrücksetzmethode auf als:

document.forms['form_name'].reset()
3
Vin.AI
<form>
<input type="text" placeholder="user-name" /><br>
<input type=submit value="submit" id="submit" /> <br>
</form>

<script>
$(window).load(function() {
$('form').children('input:not(#submit)').val('')
}

</script>

Sie können dieses Skript verwenden, wo Sie möchten. 

2
loyola

sie können einfach tun, wenn Sie diesen Elementwert erhalten

document.getElementById('numquest').value='';
2
Satish Sharma

Ich glaube es ist besser zu benutzen 

$('#form-id').find('input').val('');

anstatt

$('#form-id').children('input').val('');

falls Sie Kontrollkästchen in Ihrem Formular haben, verwenden Sie diese Option, um sie auszuruhen:

$('#form-id').find('input:checkbox').removeAttr('checked');
0
tdh3abood

.val() oder .value ist IMHO die beste Lösung, da sie für Ajax nützlich ist. Und .reset() funktioniert nur nach dem Neuladen der Seite und APIs, die Ajax verwenden, aktualisieren Seiten nie, es sei denn, sie werden durch ein anderes Skript ausgelöst.

0
Thielicious

HTML

<form id="some_form">
<!-- some form elements -->
</form>

und jquery

$("#some_form").reset();
0
Bilal

Ich hatte dieses Problem und löste mich dadurch:

.done(function() {
                    $(this).find("input").val("");
                    $("#feedback").trigger("reset");
                });

Ich habe diesen Code nach meinem Skript hinzugefügt, als ich jQuery verwendete. Gleiches versuchen)

<script type="text/JavaScript">

        $(document).ready(function() {
            $("#feedback").submit(function(event) {
                event.preventDefault();
                $.ajax({
                    url: "feedback_lib.php",
                    type: "post",
                    data: $("#feedback").serialize()
                }).done(function() {
                    $(this).find("input").val("");
                    $("#feedback").trigger("reset");
                });
            });
        });
    </script>
    <form id="feedback" action="" name="feedback" method="post">
        <input id="name" name="name" placeholder="name" />
        <br />
        <input id="surname" name="surname" placeholder="surname" />
        <br />
        <input id="enquiry" name="enquiry" placeholder="enquiry" />
        <br />
        <input id="organisation" name="organisation" placeholder="organisation" />
        <br />
        <input id="email" name="email" placeholder="email" />
        <br />
        <textarea id="message" name="message" rows="7" cols="40" placeholder="сообщение"></textarea>
        <br />
        <button id="send" name="send">send</button>
    </form>
0
Antonio112009