現在、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>