我正在使用Bootstrap和jQuery。当我在跟踪字段中输入内容然后点击回车键没有任何反应。因为我没有使用属性。但是如果我写了一些东西,那么我按下Check按钮它会加载一个模态并执行checkform()函数。 问题:当我按下按钮时,我想做同样的事情。我怎么能这样做?
HTML:
<input type="text" placeholder="Tracking Kod" name="tracking" id="tracking"
class="form-control" autocomplete="off" required>
<button type="submit" class="btn btn-success" id="checkbutton"
onclick="checkform();" data-toggle="modal" data-target="#myModal">
<span class="glyphicon glyphicon-check"></span> Check
</button>
使用Javascript:
function checkform()
{
var tracking = document.getElementById("tracking");
var modal = document.getElementById("modal");
if(tracking.value == '')
{
modal.innerHTML = '<div class="alert alert-danger" role="alert"><span class="glyphicon glyphicon-remove"></span> Xahiş edirik tracking daxil edin!</div>';
return false;
}
else
{
modal.innerHTML = '<div class="alert alert-info" role="alert"><span class="fa fa-spinner fa-spin"></span> Gözləyin</div>';
}
var url = 'track.php?tracking=' + tracking.value + '';
$.get(url, function(response) {
$( "#modal" ).hide(0.1);
$( "#modal" ).show( "slow" );
modal.innerHTML = response;
});
}
我试过这段代码。添加到body标签的末尾:
<script>
$.fn.enterKey = function (fnc) {
return this.each(function () {
$(this).keypress(function (ev) {
var keycode = (ev.keyCode ? ev.keyCode : ev.which);
if (keycode == '13') {fnc.call(this, ev);}
})
})
}
$("#tracking").enterKey(function () {checkform();});
</script>
答案 0 :(得分:0)
<script type="text/javascript">
$.fn.enterKey = function (fnc) {return this.each(function () {$(this).keypress(function (ev) {
var keycode = (ev.keyCode ? ev.keyCode : ev.which);
if (keycode == '13') {document.getElementById("checkbutton").click();}})})
}
$("#tracking").enterKey(function () {checkform();});
</script>
答案 1 :(得分:0)
首先,您需要使用表单的onsubmit事件而不是单击按钮,然后您需要阻止回调函数中表单的默认操作。
HTML
<form onsumbit="checkfrom(event)">
</form>
JS
function checkform(event) {
event.preventDefault();
//rest of code
}