2017-01-27 3 views
1

У меня есть веб-сайт с кнопкой отправки, его можно щелкнуть, но на андроиде (хром) нет никаких действий. На ПК хром он отлично работает. Не знаю, где проблема ...входная кнопка отправки не работает на устройствах Android.

<input style="display:none" type="submit" class="inline-right vytvorplakat" value="Publikovat plakát" onclick="capture();" /> 
function capture() { 
    $('#target2').html2canvas({ 
     onrendered: function (canvas) { 
      //Set hidden field's value to image data (base-64 string) 
      $('#img_val').val(canvas.toDataURL("image/png")); 
      //Submit the form manually 
      document.getElementById("myForm").submit(); 
     } 
    }); 
} 

Я попытался это: (как это было предложено Навджот Singh), но все та же проблема, работает только на рабочем столе

<input style="display:none" type="submit" class="inline-right vytvorplakat" value="Publikovat plakát" <a href="javascript:capture()"> 
+0

Как может butto n щелкнуть, когда установлено значение 'display: none'? –

+0

Существует сценарий, проверяющий, есть ли правильный вход в textarea, если да, кнопка является допустимой. Он работает, кнопка корректно отображается как на ПК, так и на мобильном устройстве, но при нажатии на мобильном телефоне ничего не происходит, и на ПК она отправляется. – user7176800

+0

взгляните на это. http://stackoverflow.com/questions/5453937/onclick-event-not-working-in-javascript –

ответ

0

попробовать Bind событие в JS Для того, чтобы решить эту проблему выпуск:

$(".vytvorplakat").on("click" ,capture); 

я думаю, что это будет решить вопрос набор ID этой кнопки и Bind событие в этом идентификатор Поскольку OnClick не поддерживают некоторые браузер

HTML

<input id="testing" type="submit" class="inline-right vytvorplakat" value="Publikovat plakát" /> 

JS

$("#testing").on("click" ,capture); 

function capture() { 
    //remove this alert 
    alert("Welcom from capture"); 
    $('#target2').html2canvas({ 
    onrendered: function(canvas) { 
     //Set hidden field's value to image data (base-64 string) 
     $('#img_val').val(canvas.toDataURL("image/png")); 
     //Submit the form manually 
     document.getElementById("myForm").submit(); 
    } 
    }); 
} 
+0

Да! Это сработало! Thnaks много :) – user7176800

+0

@ user7176800, как это отличается от моего ответа? Мой ответ тот же, только чистый JavaScript. Мое решение не сработало? – Ionut

1

onclick устарела и он может иметь неожиданное поведение в современных браузерах или устройствах. Попробуйте связывании слушателя событий для мыши, как это:

document.getElementsByClassName("vytvorplakat")[0].addEventListener("click", capture); 

UPDATE:

Показательные сниппет:

function capture() { 
 
    console.log('test'); 
 
    //here goes your html2canvas code 
 
} 
 

 
document.getElementsByClassName("vytvorplakat")[0].addEventListener("click", capture);
<input type="submit" class="inline-right vytvorplakat" value="Publikovat plakát" />

+0

Спасибо, но не знаете, куда его поместить, должно ли это быть каким-то образом в сценарии «function capture()»? – user7176800