Come faccio a cancellare il valore del campo di testo precedente dopo aver inviato il modulo senza aggiornare l’intera pagina

Sto facendo un’applicazione web usando javascript e html che ha un modulo che contiene un campo di testo, pulsante. Quando inserisco un numero in quel campo di testo e lo invio facendo clic su quel pulsante, le aree di testo vengono generate dynamicmente. Una volta inviato il modulo, vengono create alcune aree di testo, ma se non sono soddisfatto delle aree di testo esistenti, di nuovo inserisco qualche valore senza la pagina di aggiornamento. Tuttavia, il valore del campo di testo inserito precedentemente prevale mostrando le nuove aree di testo sotto le aree di testo esistenti nella pagina.

Quindi, come faccio a cancellare il valore senza aggiornare la pagina.

var num_q=document.getElementById('numquest').value; //code for dynamic creation

È ansible impostare il valore dell’elemento su bianco

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

prova questo:

se si utilizza jquery:

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

o

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

in javascript

  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 } 

Assegna valore vuoto:

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

oppure, se si desidera cancellare tutti i campi del modulo. Basta chiamare il metodo di ripristino del modulo come:

 document.forms['form_name'].reset() 

puoi semplicemente fare come ottieni quel valore di elementi

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


Puoi usare questo script dove vuoi.

HTML

 

e jquery

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

Credo che sia meglio da usare

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

invece di

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

nel caso in cui tu abbia delle checkbox nel tuo modulo, usa questo per riposarlo:

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

.val() o .value è IMHO la soluzione migliore perché è utile con Ajax. E .reset() funziona solo dopo il ricaricamento della pagina e le API che utilizzano Ajax non aggiornano mai le pagine a meno che non siano triggerste da uno script diverso.

Ho avuto quel problema e ho risolto facendo questo:

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

Ho aggiunto questo codice dopo il mio script mentre usavo jQuery. Prova lo stesso)