在RoR中提交之前,如何获取模型方法中属性的值



假设我有一个属性:例如,year_of_bornth和另一个字段:age(只读(,我填写year_of_fornth。我在模型中制作了一个计算年龄的方法,年龄是如何在视图中填充的?

下面是我做的一个简短的代码片段,它应该会让你走上正确的道路(使用javascript,但没有注释中提到的ruby on rails(。

CCD_ 1得到id"0"的元素的值;日期";。你只需要取日期(我以为这只是出生年份(,然后减去2020年。

Date of birth: <input type="int" id="date">
Age: <input type="int" id="age">
<p>Click the button to get the age!</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
document.getElementById("age").value = 2020 - document.getElementById("date").value;
}
</script>

这只是一个基本的脚本,几个月后不会提供,因为我们将在2021年提供,所以我将让您了解如何用javascript获取当前年份。它也不完全准确,因为它没有考虑出生的月份/日期,但你明白了!

我希望这对你有所帮助,如果有什么不清楚或没有按照你想要的方式工作,请告诉我。

编辑:哦,我忘了提一下,但这段代码是在你点击按钮后执行的,这可能不是真正的用户友好型(真的取决于你在做什么!(。如果您希望在填充字段后立即执行该函数,则只需进行少量修改。

如果您想在出生年份发生变化时立即显示年龄,您可以将onchange事件添加到输入中,如下所示:

Date of birth: <input type="int" id="date" onchange=myFunction()>
Age: <input type="int" id="age">
<p>Fill the first area with a year to get the age!</p>
<script>
function myFunction() {
document.getElementById("age").value = 2020 - document.getElementById("date").value;
}
</script>

一旦按下回车键或在文本区域外单击,onchange事件就会触发。

最新更新