jquery文本输入框传递给变量

时间:2012-08-01 22:30:51

标签: javascript jquery

这是我第一次使用jquery,虽然这是一个相当简单的任务,但我已经被卡住了。 我有一个输入框,里面有时间。我想创建一个按钮来抓取时间并将其发送到变量(setTime),这样我就可以在脚本的其他地方使用时间。 但是我遇到了变量传递的麻烦,我添加了一个警告窗口,但我得到的只是一个空白警报或“未定义”警报。 第一行

“开始时间......”可以很好地处理已损坏的setTime内容。

页眉: setTime = $('#setTime').text(); $('#formTime')。timeEntry({show24Hours:true});

页面正文:

<p>Start Time <input type="text" size="2" id="formTime" class="spinners" value="" /> </p>

    <input type="button" value="Set Time" onclick="$('#setTime').val('#formTime');" />
    <input type="button" value="Show Date" onclick="alert(setTime);" /> 

由于

2 个答案:

答案 0 :(得分:1)

您必须对代码进行一些更改 例如,通过添加一些ID来更新您的Html。

<p>
    Start Time <input type="text" size="2" id="formTime" class="spinners" value="" />
</p>

<input id="setTime" type="button" value="Set Time" />
<input id="showTime" type="button" value="Show Date" /> ​

我个人不喜欢将脚本分配给html控件中的事件,因为它们变得难以维护并且会给页面添加混乱。
您可以在脚本标记内的html页面底部编写脚本,或者更好,使用外部js文件。外部js文件也会保持你的Html清洁,你的脚本不引人注目。

var setTime = 0;
var $fromTime = $("#formTime")

$("#setTime").off("click").on("click", function(){
    setTime = $fromTime.val();
});

$("#showTime").off("click").on("click", function(){
    alert(setTime);
});

见工作DEMO

使用jQuery有时会让人感到困惑,但在线documentation非常棒。

答案 1 :(得分:0)

#setTime表示“id为'setTime'的元素” - 您没有带该ID的元素,而您尝试获取值的控件根本没有ID。

timeEntry不是jQuery方法,因此当您尝试调用它时会出错。如果您使用的是您认为应该添加该方法的插件,那么您应该这样说。

.val('#formTime')会将表单控件的值设置为字符串 #formTime 。如果要获取值,请不要将该方法传递给参数...并将方法调用的返回值赋给某些东西。

您应该使用introduction to programming and JavaScript