【问题标题】:how to set value of a select input depending on previous field value如何根据先前的字段值设置选择输入的值
【发布时间】:2015-01-29 18:59:53
【问题描述】:

此时我有一个包含 2 个分隔字段的表单,一个用于输入年份的数据类型和一个用于选择该年份属于哪个世纪的选项,所以我正在寻找一种获得值的方法输入年份时自动分配世纪,因此如果输入 1992 年,则自动具有值“20th”,它是否在包含表单的 php 页面上显示给用户并不重要,但确实如此提交时发送世纪值的事项。

<input type="date" name="pubdate" size="4" placeholder="Publication year, ex.: 1994" required></p>
<p><label for="century">Belongs in century</label>
<select size="1" name="century" required>
<option value="">Select century</option>
<option value="10th">10th century</option>
<option value="11th">11th century</option>
<option value="12th">12th century</option>
<option value="13th">13th century</option>
<option value="14th">14th century</option>
<option value="15th">15th century</option>
<option value="16th">16th century</option>
<option value="17th">17th century</option>
<option value="18th">18th century</option>
<option value="19th">19th century</option>
<option value="20th">20th century</option>
<option value="21st">21st century</option>
</select></p>

谢谢

【问题讨论】:

  • 这就是您正在使用的代码。有什么可以显示您尝试过的东西吗?顺便说一句,您将需要 JS,并且可能需要一点 Ajax(可选)。它也可以在 PHP 中完成,但需要更多的编码。
  • 我还没有找到适合做的代码,或者类似的东西我可以适应,而且我的编程能力不是那么好,所以我还没有尝试过。

标签: php html validation webforms


【解决方案1】:

如果我理解正确:

 <script>

function myFunction() {

var pubdate = document.getElementById("pubdate").value;

if (pubdate < 2000 && pubdate > 1900)
{       
document.getElementById('century').selectedIndex=11;
}
}
</script>

假设您的输入日期字段 id 是 pubdate 并且 Century 是所选选项的 id 当然,您需要实现某种循环以适应所有世纪。

一旦您收集了 pubdate 和 Century,您就可以通过 ajax 调用将它们传递到 php 文件中。

这是一个例子。 http://www.w3schools.com/php/php_ajax_php.asp

【讨论】:

  • 对不起,我一直在努力,但我无法实现,能否多给一些解释和建议,谢谢
  • @Andrés Chandía 看看这个deltadigital.ca/pubdate/input-date.html 我希望我能正确理解你需要做什么。当您输入年份并单击提交时,所选世纪的选项会相应更改。我用按钮触发该功能。不知道你打算怎么触发js函数。
  • 它只适用于 20 世纪,因为它只是一个例子
  • 我刚刚对其进行了修改,使其无需按钮即可工作,它会在正确输入时自动更改。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-28
  • 2021-12-18
  • 2019-04-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多