В настоящее время я работаю с Javascript и JQuery (оба из которых я новичок в этом, так что легко на меня), и цель заключается в том, когда форма заполняется неправильно. Чтобы добавить сообщение, которое говорит, что форма неверна. Когда форма вводится правильно, тогда сообщение "неправильное" должно быть удалено. Однако после ввода неправильного ввода для запроса дополнительного HTML, когда я исправляю форму, чтобы избавиться от нее, javascript заканчивается после функции remove.
Кроме того, есть все равно, чтобы удалить при условии? Другими словами, существует ли уже существующий метод, который говорит: "если html существует для удаления, а затем удаляет, иначе ничего не делать". или мне нужно написать свой собственный флаг.
$(document).ready(function ()
{
$('#basic').on('submit', function(e)
{
if(!isBasicInfoValid())
{
if(!error)
{
$('#basic').append($("<div class='basicError'>Input is not valid! </div>"));
}
error=true;
}
else if(error)
{
error=false;
$('#basic').remove($(".basicError"));
//program is stopping after remove for some reason
}
e.preventDefault();
});
};
<body>
<div class='form'>
<h3> Basic Information </h3>
<form id='basic'>
<div>Year of Birth: <input type='number' name='YOB'> </div>
<div>Current Savings: <input type='number' name='CurrSav'>
</div>
<div>Expected Retirement Age: <input type='number' name='RetAge'></div>
<div>Life expectancy: <input type='number' name='LifeExp'>
</div>
<div><input type='submit' value='Submit'></div>
</form>
</div>
<div class='form'>
<h3> Scenario </h3>
<form id='scenario'>
<div>Name: <input type='text' name='ScenarioName'> </div>
<div>Rate of Investment Return (While Working): <input type='number' name='Working'></div>
<div>Rate of Investment Return (Retired): <input type='number' name='Retired'></div>
<div>Desired Retirement Yearly Income: <input type='number' name='desiredInc'></div>
<div><input type='submit' value='Submit'></div>
</form>
<div><button id='add' type='submit'>Add Scenario </button></div>
</div>
</body>
Пытаться
$('#basic').children('.basicError').remove();
или
$("#basic .basicError").remove();
$('#basic').remove(".basicError");
не почему это. Также какова интерпретация #basic .basicError
Попробуйте изменить:
$('#basic').remove($(".basicError"));
Чтобы просто:
$('#basic').remove(".basicError");
remove
принимает селектор, вы предоставляете ему объект jQuery. Это останавливается, потому что jQuery будет бросать JS-ошибку, потому что она ожидает селектора.
Попробуй это:
$('#basic').remove(".basicError");
Или, как только один .basicError
, вы можете просто сделать:
$(".basicError").remove();