Fer*_*uza 1 javascript select phpmailer
我正在使用phpmailer构建一个表单,它包含3个步骤:表单本身、信息确认页面和邮件发送消息页面。当用户位于信息确认页面时,他可以通过总线onclick="history.back();"返回并更正所写入的信息。一切工作正常,所有字段都保持按照用户的方式编写,除了多年来使用以下代码的选择按钮:
\n\n<select id="f_year" name="f_year" data-validation-engine="validate[required]"\xe3\x80\x80class="validate[required]"></select>\n\n<script>\nvar start = 1900;\n var end = new Date().getFullYear();\n var options = "<option disabled selected value>\xe5\xb9\xb4</option>";\n for(var year = start ; year <=end; year++){\n options += "<option>"+ year +\xe3\x80\x80"\xe5\xb9\xb4" + "</option>";\n }\n document.getElementById("f_year").innerHTML = options;\n</script>\n
Run Code Online (Sandbox Code Playgroud)\n\n当单击它来更正信息时,该选择元素中的数据根本不会保存。\n我应该做什么?
\n检查以下内容。这是您的问题场景的最小、完整且可验证的示例。
\n\n如您所见,有两个SELECT
元素,一个是硬编码的,另一个是动态生成的(与您提供的相同脚本)。
<html>\n <body>\n <select>\n <option value="Val1">V1</option>\n <option value="Val2">V2</option>\n <option value="Val3">V3</option>\n <option value="Val4">V4</option>\n <option value="Val5">V5</option>\n </select>\n <select id="f_year" name="f_year" data-validation-engine="validate[required]"\xe3\x80\x80class="validate[required]"></select>\n <script>\n var start = 1900;\n var end = new Date().getFullYear();\n var options = "<option disabled selected value>\xe5\xb9\xb4</option>";\n for(var year = start ; year <=end; year++){\n options += "<option>"+ year +\xe3\x80\x80"\xe5\xb9\xb4" + "</option>";\n }\n document.getElementById("f_year").innerHTML = options;\n </script>\n <button onclick="window.location=\'confirm.php\'">Proceed</button>\n </body> \n</html>\n
Run Code Online (Sandbox Code Playgroud)\n\n当您尝试运行此程序时,您会发现硬编码的代码保持不变,而动态生成的代码则在您从确认页面导航回同一页面时重置。
\n\n发生的情况是,当您向后导航时,页面上的脚本将从头开始执行,更改值,因此动态生成的输入将被重置。只有静态内容才能保持完整。为了保持动态内容完好无损,您将需要一些额外的工作。
\n\n这个问题看起来与您的问题场景类似,这表明您需要做一些额外的工作来保留动态内容。
\n 归档时间: |
|
查看次数: |
1410 次 |
最近记录: |