onClick在字段中插入文本/时间javaScript
简而言之,我只想要一个按钮,如果单击该按钮,它会在我刚选择的文本字段中插入一个时间。 (我有20个字段)我不想为每个字段添加一个按钮。onClick在字段中插入文本/时间javaScript
我用这样的
<script type="text/javascript">
$(
function() {
$('#TIME').click(function() {
var time = new Date().toLocaleTimeString([], {hour: '2-digit', minute:'2-digit', hour12: false});
$('#TIME').val(time);
});
}
);
</script>
<div class="timebuttons">
</div>
在这里,您有一种解决方案(连同validaion)https://jsfiddle.net/4zyy9tr7/
$(document).ready(function() {
var $focused = "";
$('.setTime').focus(function(){
$focused = $(this);
});
//Set time in last selected input field when the button is clicked
$('#btnSetTime').click(function() {
var time = new Date().toLocaleTimeString([], {hour: '2-digit', minute:'2-digit', hour12: false});
if($focused != "")
$focused.val(time);
});
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="setTime" value="" />
<input type="text" class="setTime" value="" />
<input type="text" class="setTime" value="" />
<input type="text" class="setTime" value="" />
<button id="btnSetTime">Set Time</button>
验证: 如果您还没有选择input textbox
&您点击了设置时间button
,您不会看到任何错误。
我用jQuery
focus
方法。
更新的代码
$('#btnSetTime').click(function() {
var time = new Date().toLocaleTimeString([], {hour: '2-digit', minute:'2-digit', hour12: false});
if($focused != "")
$focused.val(time);
return false;
});
这正是我所需要的,但是有没有什么办法可以阻止提交表单的时间点击? – alxmx
在click事件中使用'return false;'。 – Shiladitya
@alxmx ..我也更新了答案。 – Shiladitya
尖端。不需要时,不要使用()作为块{}。格式化你的代码 –
使用类,而不是id它可以帮助你,因为你可以给你尽可能多的类,只要你喜欢,但你不能给同一个id不同的元素 –
我不明白,在哪里是带'TIME' ID的按钮?点击后你想在哪里放置文字?你想改变点击的按钮的文本或添加一个新的文本到'timebuttons'部分? – Tomer