#javascript #php #html #jquery #forms
Вопрос:
У меня есть динамическая форма выбора, созданная с помощью скрипта.
При отправке с ошибкой я хочу, чтобы форма оставалась открытой и сохраняла данные, но форма открывается только при обнаружении изменений.
В идеале я бы открыл форму с «значением по умолчанию», но изменил бы ее при прослушивании.
$('#productType').change(function() { if($(this).val() == 'dvd') { $('#nextStep').html('lt;label for="size"gt;Size (MB) lt;/labelgt;lt;input type="text" id="size" name="size" value="lt;?php if (!empty($_POST["size"])) { echo $_POST["size"]; } else { echo ''; }; ?gt;" requiredgt;'); } if($(this).val() == 'book') { $('#nextStep').html('lt;label for="weight"gt;Weight (KG) lt;/labelgt;lt;input type="text" id="weight" name="weight" value="lt;?php if (!empty($_POST["weight"])) { echo $_POST["weight"]; } else { echo ''; }; ?gt;" requiredgt;'); } if($(this).val() == 'furniture'){ $('#nextStep').html('lt;label for="height"gt;Height (CM) lt;/labelgt;lt;input type="text" id="height" name="height" value="lt;?php if (!empty($_POST["height"])) { echo $_POST["height"]; } else { echo ''; }; ?gt;" requiredgt;lt;brgt;lt;brgt;lt;label for="width"gt;Width (CM) lt;/labelgt;lt;input type="text" id="width" name="width" value="lt;?php if (!empty($_POST["width"])) { echo $_POST["width"]; } else { echo ''; }; ?gt;" requiredgt;lt;brgt;lt;brgt;lt;label for="lenght"gt;Lenght (CM) lt;/labelgt;lt;input type="text" id="lenght" name="lenght" value="lt;?php if (!empty($_POST["lenght"])) { echo $_POST["lenght"]; } else { echo ''; }; ?gt;" requiredgt;'); } });
Комментарии:
1. после определения функции и загрузки страницы просто вызовите
$('#productType').change();