应该在文本框上使用哪个事件来调用javascript函数?
我有两个文本框来存储两个日期。我想在第一个和第二个文本框中输入日期时调用javascript函数。也就是说,只要我在第二个框中输入日期,我就想调用javascript函数。我尝试了onchange,但它没有调用javascript函数。您能建议我调用javascript函数的正确事件吗?提前谢谢。我用的是smarty。我的代码如下:应该在文本框上使用哪个事件来调用javascript函数?,javascript,html,Javascript,Html,我有两个文本框来存储两个日期。我想在第一个和第二个文本框中输入日期时调用javascript函数。也就是说,只要我在第二个框中输入日期,我就想调用javascript函数。我尝试了onchange,但它没有调用javascript函数。您能建议我调用javascript函数的正确事件吗?提前谢谢。我用的是smarty。我的代码如下: <label>Created Date From</label> <div class="form-eleme
<label>Created Date From</label>
<div class="form-element">
<input type="text" class="cal fl-left" name="from_date" id="frmDate" value="{if $data.from_date}{$data.from_date}{else}{/if}" maxlength="10" />
</div>
<label>Created Date To</label>
<div class="form-element">
<input type="text" class="cal fl-left" name="to_date" id="toDate" value="{if $to_date}{$to_date}{else}{/if}" maxlength="10" onchange="get_tests_by_date(); return false;"/>
</div>
function get_tests_by_date() {
document.location.href = "view_tests.php?test_category_id="+document.getElementById('test_category_id').value+"&test_mode="+document.getElementById('test_mode').value+"&test_type="+document.getElementById('test_type').value+"&package_type="+document.getElementById('package_type').value+"&created_date_from="+document.getElementById('frmDate').value+"&created_date_to="+document.getElementById('toDate').value+"&page=1";
}
这就是我几年前所做的,代码中没有jquery: HTML: JS:
您可以按一下键,然后检查该框是否包含您允许的日期字符数。确保忽略backspace键。onchange应该可以工作。你能发布不起作用的代码,并告诉我们你尝试了哪些浏览器吗?@JoAreBy:根据你的请求,我已经添加了代码。我看不出有任何理由不调用get\u tests\u by\u date。您是否尝试过用alerttest替换该函数体;?onchange为更改文本框内容的每个按键触发。为每个新按键重新加载可能不是您想要的。在重新加载之前,您可以添加一个检查来查看日期是否已完成。为什么不直接使用jquery,不是更简单吗?只要标记中没有提到jquery,就应该用本机javascript回答问题。@Hello World确实如此!但正如Jo所说,它不在标记中,所以作者正在寻找纯jscript。。。
<input name="FormStartDate" value="" maxlength="10" onkeydown="KeyDateNumCheck()"/>
<input name="FormEndDate" value="" maxlength="10" onkeydown="KeyDateNumCheck()"/>
//do not allow to input anything except the numeric characters, dashes, or slashes
function KeyDateNumCheck()
{
var iKeyCode = event.keyCode;
if ( (iKeyCode != 109) && (iKeyCode != 189) && (iKeyCode != 111) && (iKeyCode != 191) &&
( ((iKeyCode > 57)&&(iKeyCode < 96)) || (iKeyCode > 105) || (iKeyCode == 32)) )
event.returnValue = false;
}