onClick在字段中插入文本/时间javaScript

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>

+0

尖端。不需要时,不要使用()作为块{}。格式化你的代码 –

+0

使用类,而不是id它可以帮助你,因为你可以给你尽可能多的类,只要你喜欢,但你不能给同一个id不同的元素 –

+0

我不明白,在哪里是带'TIME' ID的按钮?点击后你想在哪里放置文字?你想改变点击的按钮的文本或添加一个新的文本到'timebuttons'部分? – Tomer

在这里,您有一种解决方案(连同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,您不会看到任何错误。

我用jQueryfocus方法。

更新的代码

$('#btnSetTime').click(function() { 
    var time = new Date().toLocaleTimeString([], {hour: '2-digit', minute:'2-digit', hour12: false}); 
    if($focused != "") 
    $focused.val(time); 

    return false; 
}); 
+0

这正是我所需要的,但是有没有什么办法可以阻止提交表单的时间点击? – alxmx

+0

在click事件中使用'return false;'。 – Shiladitya

+0

@alxmx ..我也更新了答案。 – Shiladitya