- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的 Rails 应用程序中使用了 braintree。使用 gem 'braintree' 进行集成。我使用了一个像这样实现的 dropin UI:
braintree.dropin.create({
authorization: client_token,
container: '#bt-dropin'
}, function (createErr, instance) {
form.addEventListener('submit', function (event) {
event.preventDefault();
instance.requestPaymentMethod(function (err, payload) {
if (err) {
console.log('Error', err);
return;
}
// Add the nonce to the form and submit
document.querySelector('#nonce').value = payload.nonce;
form.submit();
});
});
});
这很好用。但是我需要捕获错误(如果有)并在光标从输入框移出时禁用提交按钮。有什么解决办法吗?请帮忙。
最佳答案
完全披露:我在 Braintree 工作。如果您有任何其他问题,请随时联系 support .
虽然该解决方案无法使用 DropIn 实现,但我建议根据付款方式是否可请求动态启用或禁用您的提交按钮。查看example下面。
var submitButton = document.querySelector('#submit-button');
braintree.dropin.create({
authorization: 'client_token',
container: '#bt-dropin'
}, function (err, dropinInstance) {
submitButton.addEventListener('click', function () {
dropinInstance.requestPaymentMethod(function (err, payload) {
document.querySelector('#nonce').value = payload.nonce;
form.submit();
});
});
if (dropinInstance.isPaymentMethodRequestable()) {
// This will be true if you generated the client token
// with a customer ID and there is a saved payment method
// available to tokenize with that customer.
submitButton.removeAttribute('disabled');
}
dropinInstance.on('paymentMethodRequestable', function (event) {
console.log(event.type); // The type of Payment Method, e.g 'CreditCard', 'PayPalAccount'.
console.log(event.paymentMethodIsSelected); // true if a customer has selected a payment method when paymentMethodRequestable fires
submitButton.removeAttribute('disabled');
});
dropinInstance.on('noPaymentMethodRequestable', function () {
submitButton.setAttribute('disabled', true);
});
});
要获得更多控制,我建议查看我们的 Hosted Fields解决方案。
关于javascript - Rails braintree 在输入框的 focusout 上捕获错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46767137/
我正在使用 jQuery UI 模式对话框,并用一些表单字段填充它。由于这个错误:http://bugs.jqueryui.com/ticket/4731 ,当对话框打开时,第一个输入获得焦点。为了解
我正在使用handsontable jQuery 插件。我试图在用户停止编辑单元格时进行拦截。当您双击某个单元格时,带有 handsontableInput 类的文本区域会出现在该单元格的位置。 使用
我正在处理两个事件,都是 focusout和keydown ,在 $(elementID).on()事件处理程序。 调用$(elementID).off("focusout keydown");作为
Focusout事件后,不触发click事件。 我的设计是, jQuery, $(document).ready(function () { var field = $("#txt"); var
我在代码中使用focusout,我需要知道单击哪个元素来触发focusout,因为如果特定元素,我需要执行特定函数负责触发 focusout 我尝试使用stopPropagation,但它不起作用
我已经在这个论坛上阅读了很多次,但现在我有一个自己的问题。我需要将字符串 01.01.2014 替换为 1。 1. 2014年。我一直没能找到解决方案。这是我距离最近的一次。 $('#date').f
我有一个带有文本输入#usernameInput 和链接#saveLink 的表格单元格。使用 jQuery,我有一个分配给 #saveLink 的单击事件的函数。 我想要实现的是,当#usernam
我只是想隐藏一个div,如果文本框失去焦点,除非用户单击另一个特定的div。如果用户单击该特定 div,则焦点不会触发 div.box 被隐藏。 下面是带有我的伪代码注释的代码。有什么想法吗? tex
// 动态生成文本框 buffer += "" + nomen_list.getName() + ""; 我得到了动态文本框,但是 focusout 不适用于动态生成的文本框,而同一页面有一些文本框,
我有一个问题。我正在使用 jQuery 1.8.2。我想对 focusout 事件使用react,并将 focs 重置为在特殊条件下留下的元素。现在我得到了这个非常简单的代码片段,它在 safari
我有以下标记: 1 2 1 2 和以下 JQuery 代码: $(document).ready(function() { $('select').e
首先,我有一个 Google 可视化数据表。 之后,我创建一个 for 循环来获取表格单元格值并将其放入输入字段中: for (var y = 0, maxrows = data.getNumberO
我正在尝试创建一个在任何类元素失去焦点时触发的函数: ON Time am pm OFF Time pm am 我知道这不对,但我想要类似的东西: $('.timeSetting'
我有一个动画搜索栏,当用户点击它以外的地方时,它会隐藏起来。然而,这会导致直接单击旁边的提交按钮被忽略。我该如何解决这个问题? HTML,
我想在聚焦时使占位符文本闪烁。 这是我的 html 代码: 这是我的 jquery 代码: $('#keyfob').on("focus blur", function(){ $(this)
当 FocusOut 事件被引发时,您如何知道哪个元素获得焦点? 正确的方法似乎是使用事件的 relatedTarget 属性。但是,这似乎不适用于所有浏览器: 在谷歌浏览器中,它有效 在 Firef
给定示例标记: 如何通过 jQuery 确定 div 失去焦点? 我可以使用 focusout() 但这并不是我所需要的。使用 focusout,它将作为从一个输入到
我想,在失去对 的关注后字段,对此字段的值执行一些操作,包括更改内容本身(使其变为大写) 如下code : HTML JavaScript + jQuery $("#name") .focu
我希望在 class="date"的输入元素上触发 focusout 事件,并驻留在 class='datatable' 的表中,无论是对于 DOM 中的元素还是动态添加的元素。对于动态添加的元素(使
我试图在失去焦点后调用方法,不幸的是我的 Jquery 没有调用 .focusout 方法。 代码: $("#account-number").focusout(function() { cons
我是一名优秀的程序员,十分优秀!