我是javascript新手,如果这是一个非常基本的问题,我深表歉意。
我正在构建(拖放)表单以供用户通过网站输入数据。我有两个STARTTIME
格式的时间输入(TESTTIME
和HH:MM
)。我需要显示STARTTIME
(15分钟)之后15分钟的时间以及STARTTIME
和TESTTIME
(TIMEDIF
)之间经过的分钟数。
该网站提供了拖放表单编辑器,并具有一个我可以在其中添加JavaScript的字段。
我已经弄清楚了如何获取“ HH:MM
”的字符串输入并输出所需的值。
我正在努力从两个时间字段(STARTTIME
和TESTTIME
)中提取输入并写入15MIN和TIMEDIF
字段。
为了从表单返回输入,我尝试使用:
var atime = $("#" + STARTTIME + "input");
var ttime = $("#"+ TESTTIME + "input");
//-或-
var atime = $("div[id=STARTTIME] input");
var ttime = $("div[id=TESTTIME] input");
//以及设置15MIN和TIMEDIF
变量
$("div[id=15MIN] input").val(tqtime);
$("div[id=TIMEDIF] input").val(difftime);
// tqtime
和difftime
分别为“ HH:MM
”和数字格式,并根据atime
和ttime
计算得出。
我已经测试了从atime
和ttime
(定义为“ HH:MM
”字符串)到tqtime和difftime
的代码输出是否成功。
但是,在与表单一起使用时,所有变量都是未定义的,这使我相信我没有正确返回输入。
答案 0 :(得分:0)
调用$(“ someselector”)时,得到的是一个jQuery元素。这不仅仅是输入的值,因此您实际上必须调用一个函数来获取该值。使用jQuery,您可以使用.val()
方法来实现此目的。假设"#" + STARTTIME + input" and "#" + TESTTIME + "input"
是input
元素的ID,则获取值将如下所示:
var atime = $("#" + STARTTIME + "input").val();
var ttime = $("#" + TESTTIME + "input").val();