Отключить кнопку Submit onClick, Post Data [duplicate]

select t3.name, sum(t3.prod_A) as Prod_A, sum(t3.prod_B) as Prod_B, sum(t3.prod_C) as    Prod_C, sum(t3.prod_D) as Prod_D, sum(t3.prod_E) as Prod_E  
from
(select t2.name as name, 
case when t2.prodid = 1 then t2.counts
else 0 end  prod_A, 

case when t2.prodid = 2 then t2.counts
else 0 end prod_B,

case when t2.prodid = 3 then t2.counts
else 0 end prod_C,

case when t2.prodid = 4 then t2.counts
else 0 end prod_D, 

case when t2.prodid = "5" then t2.counts
else 0 end prod_E

from 
(SELECT partners.name as name, sales.products_id as prodid, count(products.name) as counts
FROM test.sales left outer join test.partners on sales.partners_id = partners.id
left outer join test.products on sales.products_id = products.id 
where sales.partners_id = partners.id and sales.products_id = products.id group by partners.name, prodid) t2) t3

group by t3.name ;
292
задан gunr2171 30 March 2015 в 14:08
поделиться

11 ответов

Вместо этого используйте .prop (и очистите строку выбора):

function disable(i){
    $("#rbutton_"+i).prop("disabled",true);
}

сгенерированный HTML:

<button id="rbutton_1" onclick="disable(1)">Click me</button>
<!-- wrap your onclick in quotes -->

Но подход «наилучшей практики» заключается в использовании привязки событий JavaScript и this вместо:

$('.rbutton').on('click',function() {
    $(this).prop("disabled",true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<button class="rbutton">Click me</button>

http://jsfiddle.net/mblase75/2Nfu4/

533
ответ дан 5 revs 21 August 2018 в 09:58
поделиться
  • 1
    Вот небольшая скрипка, которую я создал. Пожалуйста, позволь мне, что я делаю неправильно. jsfiddle.net/2Nfu4/3 – user2047817 28 February 2013 в 19:48
  • 2
    @ user2047817 Запустите его как "no wrap - in head & quot; jsfiddle.net/mblase75/2Nfu4/4 – Blazemonger 28 February 2013 в 20:11
  • 3
    ОК. Он работал в No Wrap - in Head. Но могу ли я спросить, почему? Может быть, это что-то похожее, я не делаю этого в своем действительном коде! – user2047817 28 February 2013 в 22:00
  • 4
    Просто, как это сделал jsFiddle, кажется - вы можете «проверять элемент», в вашем браузере, если вы хотите точно проанализировать, что происходит. – Blazemonger 28 February 2013 в 22:13
  • 5
    Это хорошо работает. Просто убедитесь, что если вы используете ajax, вы включаете кнопку в случаях успеха и ошибок. Не к концу вызова ajax. Потому что тогда он будет немедленно включен, и вы вообще не увидите его. – user890332 17 August 2014 в 18:11

Попробуйте этот код: HTML

<button type='button' id = 'rbutton_'+i onclick="disable(i)">Click me</button>

function

function disable(i){
    $("#rbutton_"+i).attr("disabled","disabled");
}

Другое решение с jquery

$('button').click(function(){ 
    $(this).attr("disabled","disabled");
});

DEMO


Другое решение с чистым javascript

<button type='button' id = 'rbutton_1' onclick="disable(1)">Click me</button>

<script>
function disable(i){
 document.getElementById("rbutton_"+i).setAttribute("disabled","disabled");
}
</script>

DEMO2

29
ответ дан Alessandro Minoccheri 21 August 2018 в 09:58
поделиться
  • 1
    @ user2047817 изменить мой ответ – Alessandro Minoccheri 27 February 2013 в 23:24
  • 2
    Вторая функция .click () отлично работает в вашей демонстрации. Но я должен использовать отдельный метод, упомянутый в вашем первом решении, но он не работает. Не могли бы вы помочь! – user2047817 28 February 2013 в 19:40
  • 3
    Добавлено третье решение с чистым javascript @ user2047817 – Alessandro Minoccheri 28 February 2013 в 22:50

Попробуйте

function disable(i){
    $("#rbutton_"+i).attr("disabled",true);
}
20
ответ дан aloisdg 21 August 2018 в 09:58
поделиться

кнопка отключения:

$('#button_id').attr('disabled','disabled');
Кнопка

:

$('#button_id').removeAttr('disabled');
10
ответ дан Cris 21 August 2018 в 09:58
поделиться

Просто отлично работает в HTML:

<button type="button" id="btn_CommitAll"class="btn_CommitAll">save</button>

В стороне JQuery эту функцию отключить:

function disableButton() {
    $('.btn_CommitAll').prop("disabled", true);
}

Для кнопки включения:

function enableButton() {
    $('.btn_CommitAll').prop("disabled", false);
}

Вот и все.

10
ответ дан David Newcomb 21 August 2018 в 09:58
поделиться

Это работает для меня:

<script type="text/javascript">
function change(){
    document.getElementById("submit").disabled = false;
}
</script>
1
ответ дан Javi Ps 21 August 2018 в 09:58
поделиться

Для кнопок JQuery UI это работает:

$("#buttonId").button( "option", "disabled", true | false );
0
ответ дан Khrys aka Louis 21 August 2018 в 09:58
поделиться

Это самый простой способ, на мой взгляд:

// All buttons where id contains 'rbutton_'
const $buttons = $("button[id*='rbutton_']");

//Selected button onclick
$buttons.click(function() {
    $(this).prop('disabled', true); //disable clicked button
});

//Enable button onclick
$('#enable').click(() =>
    $buttons.prop('disabled', false) //enable all buttons
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="rbutton_200">click</button>
<button id="rbutton_201">click</button>
<button id="rbutton_202">click</button>
<button id="rbutton_203">click</button>
<button id="rbutton_204">click</button>
<button id="rbutton_205">click</button>
<button id="enable">enable</button>

8
ответ дан Lucas 21 August 2018 в 09:58
поделиться

Здесь есть две вещи, и самый высокий проголосовавший ответ технически корректен в соответствии с вопросом OP.

Кратко суммируется как:

$("some sort of selector").prop("disabled", true | false);

Однако следует ли использовать jQuery UI (я знаю, что OP не был, но некоторые люди, прибывающие сюда, могли бы быть), тогда как это отключит кнопки события click, это не приведет к отключению кнопки в соответствии с стилем UI.

Если вы используете кнопка стиля jQuery UI, тогда ее следует включить / отключить с помощью:

$("some sort of selector").button("enable" | "disable");

http://api.jqueryui.com/button/#method-disable

23
ответ дан Morvael 21 August 2018 в 09:58
поделиться

Я хочу отключить кнопку в каком-то состоянии, я использую 1-е решение, но это не сработает для меня. Но когда я использую второй, он работал.Below - выходы из консоли браузера.

1. $ ('# psl2 .btn-continue'). prop ("disabled", true)

<a class=​"btn btn-yellow btn-continue" href=​"#">​Next​</a>​

2. $ ('# psl2 .btn-continue'). attr ("disabled", "disabled")

<a class=​"btn btn-yellow btn-continue" href=​"#" disabled=​"disabled">​Next​</a>​
1
ответ дан Pooja Mane 21 August 2018 в 09:58
поделиться

Вот как вы это делаете с помощью ajax.

$("#updatebtn").click(function () {
    $("#updatebtn").prop("disabled", true);
    urlToHandler = 'update.ashx';
            jsonData = data;
            $.ajax({
                url: urlToHandler,
                data: jsonData,
                dataType: 'json',
                type: 'POST',
                contentType: 'application/json',
                success: function (data) {
                    $("#lbl").html(data.response);
                    $("#updatebtn").prop("disabled", false);
                    //setAutocompleteData(data.response);
                },
                error: function (data, status, jqXHR) {
                    alert('There was an error.');
                    $("#updatebtn").prop("disabled", false);
                }
            }); // end $.ajax
2
ответ дан user890332 21 August 2018 в 09:58
поделиться
  • 1
    в некоторых версиях jQuery вы должны использовать .attr('disabled', true). Я не знаю, какая из них, но версия, которую я должен использовать (миниатюрный и связанный как часть приложения, над которым я работаю), подбрасывает с помощью object does not support prop – JoeBrockhaus 25 November 2014 в 01:04
Другие вопросы по тегам:

Похожие вопросы: