Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript引导盒,can';t获取按钮以单击回车键_Javascript_Bootbox - Fatal编程技术网

Javascript引导盒,can';t获取按钮以单击回车键

Javascript引导盒,can';t获取按钮以单击回车键,javascript,bootbox,Javascript,Bootbox,当我打开引导框时,输入信息,然后按enter键,它将关闭引导框并滚动回页面顶部。(它没有按“创建”按钮或“取消”按钮)。我已尝试将classname更改为btn primary。这没用 代码如下: bootbox.dialog({ title: 'Create a new bucket', message: '<div class="row"> ' + '<div class="col-md-12"

当我打开引导框时,输入信息,然后按enter键,它将关闭引导框并滚动回页面顶部。(它没有按“创建”按钮或“取消”按钮)。我已尝试将classname更改为btn primary。这没用

代码如下:

    bootbox.dialog({
    title: 'Create a new bucket',
    message:
            '<div class="row"> ' +
                '<div class="col-md-12"> ' +
                    '<form class="form-horizontal"> ' +
                        '<div class="form-group"> ' +
                            '<label class="col-md-4 control-label" for="bucketName">Bucket Name</label> ' +
                            '<div class="col-md-8"> ' +
                                '<input id="bucketName" name="bucketName" type="text" placeholder="Enter bucket name" class="form-control" autofocus> ' +
                                '<div>' +
                                    '<span id="bucketModalErrorMessage" ></span>' +
                                '</div>'+
                            '</div>' +
                        '</div>' +
                        '<div class="form-group"> ' +
                            '<label class="col-md-4 control-label" for="bucketLocation">Bucket Location</label> ' +
                            '<div class="col-md-8"> ' +
                                '<select id="bucketLocation" name="bucketLocation" class="form-control"> ' +
                                    generateBucketOptions(self.settings.bucketLocations) +
                                '</select>' +
                            '</div>' +
                        '</div>' +
                    '</form>' +
                '</div>' +
            '</div>',
    buttons: {
        cancel: {
            label: 'Cancel',
            className: 'btn-default'
        },
        confirm: {
            label: 'Create',
            className: 'btn-success',
            callback: function () {
                var bucketName = $('#bucketName').val();
                var bucketLocation = $('#bucketLocation').val();

                if (!bucketName) {
                    var errorMessage = $('#bucketModalErrorMessage');
                    errorMessage.text('Bucket name cannot be empty');
                    errorMessage[0].classList.add('text-danger');
                    return false;
                } else if (!isValidBucketName(bucketName, false)) {
                    bootbox.confirm({
                        title: 'Invalid bucket name',
                        message: 'Amazon S3 buckets can contain lowercase letters, numbers, and hyphens separated by' +
                        ' periods.  Please try another name.',
                        callback: function (result) {
                            if (result) {
                                self.openCreateBucket();
                            }
                        },
                        buttons: {
                            confirm: {
                                label: 'Try again'
                            }
                        }
                    });
                } else {
                    self.createBucket(bucketName, bucketLocation); //THIS IS IMPORTANT
                }
            }
        }
    }
});
bootbox.dialog({
标题:“创建一个新bucket”,
信息:
' ' +
' ' +
' ' +
' ' +
“Bucket Name”+
' ' +
' ' +
'' +
'' +
''+
'' +
'' +
' ' +
“铲斗位置”+
' ' +
' ' +
generateBucketOptions(self.settings.bucketLocations)+
'' +
'' +
'' +
'' +
'' +
'',
按钮:{
取消:{
标签:“取消”,
类名:“btn默认值”
},
确认:{
标签:“创建”,
类名:“btn成功”,
回调:函数(){
var bucketName=$('#bucketName').val();
var bucketLocation=$('#bucketLocation').val();
如果(!bucketName){
var errorMessage=$('bucketModalErrorMessage');
errorMessage.text('Bucket name不能为空');
errorMessage[0]。类列表。添加('text-danger');
返回false;
}如果(!isValidBucketName(bucketName,false))为else{
bootbox.confirm({
标题:“无效的存储桶名称”,
消息:“AmazonS3存储桶可以包含小写字母、数字和连字符,以分隔”+
“句号,请改名。”,
回调:函数(结果){
如果(结果){
self.openCreateBucket();
}
},
按钮:{
确认:{
标签:“重试”
}
}
});
}否则{
createBucket(bucketName,bucketLocation);//这很重要
}
}
}
}
});

}))

下面是一个带有确认对话框的示例

var dialog = bootbox.confirm({ ... });

//https://github.com/makeusabrew/bootbox/issues/411
dialog.on("shown.bs.modal", function () {
    dialog.attr("id", "dialog-1");
});

//https://stackoverflow.com/questions/26328539/bootbox-make-the-default-button-work-with-the-enter-key
$(document).on("submit", "#dialog-1 form", function (e) {
    e.preventDefault();
    $("#dialog-1 .btn-primary").click();
});
如果您使用的是prompt(但此解决方案在其他情况下应该很有用) 这是实现此功能的最简单方法

var input = document.getElementsByClassName("CLASS OF INPUT YOU WANT TO CHOOSE");
input[0].addEventListener("keyup", function(event) {
    event.preventDefault();
    if (event.keyCode === 13) {
      var click = document.getElementsByClassName("CLASS OF BUTTON YOU WANT TO PRESS");
      click[0].click();
     }
});
我还没有找到一种方法将ID分配给bootbox中的元素,但是分配类是可能的。当然,您不能像使用ID选择元素那样选择类,所以您必须做的是按类获取元素,这将创建数组,即使您只有所述类的一个元素。因此,必须在数组中选择正确的元素。在我的例子中是[0]。选择指定的键,然后使用按钮重复相同的过程


如果您仔细遵守我的说明,您应该能够使用键提交数据。

我不希望它滚动到页面顶部,我试图让它在按enter键时只需单击“创建”按钮。我也不确定我将把它放在我的代码中的什么地方,因为我在一个引导框中。
var input = document.getElementsByClassName("CLASS OF INPUT YOU WANT TO CHOOSE");
input[0].addEventListener("keyup", function(event) {
    event.preventDefault();
    if (event.keyCode === 13) {
      var click = document.getElementsByClassName("CLASS OF BUTTON YOU WANT TO PRESS");
      click[0].click();
     }
});