jquery как да изпразните полето за въвеждане

Аз съм в мобилно приложение и използвам поле за въвеждане, за да може потребителят да изпрати номер.

Когато се върна и върна на страницата, това поле за въвеждане представя последното въведено число, показано в полето за въвеждане.

Има ли някакъв начин да изчистите полето при всяко зареждане на страницата?

$('#shares').keyup(function(){
    payment = 0;
    calcTotal();
    gtotal = ($('#shares').val() * 1) + payment;
    gtotal = gtotal.toFixed(2);
    $("p.total").html("Total Payment: <strong>" + gtotal + "</strong>");
});

person kosbou    schedule 10.02.2012    source източник


Отговори (6)


Можете да изчистите полето за въвеждане, като използвате $('#shares').val('');

person shaunsantacruz    schedule 10.02.2012
comment
Работи ли това и съвместимо ли е със спецификацията, ако имаме цифров вход като <input type="number" min="0' max="10" value="5"></input>? Предполагам, казано по друг начин, разрешено ли ви е да зададете празно числово въвеждане? - person Kevin Wheeler; 11.06.2015
comment
Какво ще кажете за .val([])? - person Fr0zenFyr; 14.09.2015
comment
Във връзка с това, .val([]) може също да отмени всяка избрана опция в списъка за избор... не толкова с .val(''). Най-хубавото в него е, че има поддръжка за различни браузъри. P.S: Това е алтернатива на единственото друго ефективно решение за кръстосани браузъри - $("select option").prop("selected", false);, но работи с всички входове. Благодаря на Jon за създаден от него тест. - person Fr0zenFyr; 14.09.2015

За да нулирате въвеждането на текст, число, търсене, текстово поле:

$('#shares').val('');

За нулиране изберете:

$('#select-box').prop('selectedIndex',0);

За да нулирате радио входа:

$('#radio-input').attr('checked',false);

За да нулирате въвеждането на файл:

$("#file-input").val(null);
person chickens    schedule 16.10.2019

Докато изпращате формуляр, използвайте метода за нулиране във формуляра. Методът reset() нулира стойностите на всички елементи във формуляр.

$('#form-id')[0].reset();

OR 

document.getElementById("form-id").reset();

https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/reset

$("#submit-button").on("click", function(){
       //code here
       $('#form-id')[0].reset();
});
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<form id="form-id">
  First name:<br>
  <input type="text" name="firstname">
  <br>
  Last name:<br>
  <input type="text" name="lastname">
  <br><br>
  <input id="submit-button" type="submit" value="Submit">
</form> 
</body>
</html>

person Radhika    schedule 06.03.2017
comment
Може да помогне на някого, но в този контекст отговорът ви е безполезен. - person Marco Concas; 06.11.2019

Настройка val('') ще изпразни полето за въвеждане. Така че бихте използвали това:

Изчистете полето за въвеждане, когато страницата се зареди:

$(function(){
    $('#shares').val('');
});
person Francis Lewis    schedule 10.02.2012

Тъй като използвате jQuery, какво ще кажете за използването на тригер-reset:

$(document).ready(function(){
  $('#shares').trigger(':reset');
});
person Sablefoste    schedule 12.10.2016

ако натиснете бутона "назад", той обикновено има тенденция да се залепи, това, което можете да направите, е, когато формулярът бъде изпратен, да изчистите елемента, след това преди да отиде на следващата страница, но след като направите с елемента това, което трябва.

    $('#shares').keyup(function(){
                payment = 0;
                calcTotal();
                gtotal = ($('#shares').val() * 1) + payment;
                gtotal = gtotal.toFixed(2);
                $('#shares').val('');
                $("p.total").html("Total Payment: <strong>" + gtotal + "</strong>");
            });
person chris    schedule 10.02.2012