Я превратил входное текстовое значение в переменную inp1, но как только я хочу вызвать его внутри объекта, он не работает.
<input type = "text" placeholder = "Enter your text here" class = "input fade-in" id = "inp1" required>
var inp1 = document.getElementById("inp1").value;
$(function(){
$('#qrcode').qrcode({
width: 150,
height: 150,
text: "https://www.stackoverflow.com/" + inp1
});
});
Я ожидаю, что код qrcode покажет URL + текст ввода
Ваш код работает один раз, когда страница загружается. В это время поле ввода еще пусто. Вместо этого вы, вероятно, захотите обновить изменения кода qr всякий раз, когда ввод. Для этого вам нужен прослушиватель событий:
$(function(){
var input = $("#inp1"); // if you use jQuery, use it everywhere. Also retrieve the element when the document loaded
input.on("change", function() { // listen for input changes
$('#qrcode').qrcode({ // then update the qr code
width: 150,
height: 150,
text: "https://www.stackoverflow.com/" + input.val(),
});
});
});
Возможно, вы захотите рассмотреть возможность использования событие ввода вместо события изменения в зависимости от вашего варианта использования.
Документация нередко содержит ошибки.
@ScottMarcus Этот пример работает просто отлично и обновляет qrcode, как и ожидалось (я имею в виду, что на самом деле я его не сканировал, но я видел, что он меняется)
@AlonEitan, это не та библиотека, которую я использую. Эта библиотека не работает
Почему это дает мне эту ошибку: Uncaught SyntaxError: отсутствует) после списка аргументов
@codeworking Тогда это эта библиотека? Потому что, если это так, когда вы запускаете $('#qrcode').qrcode()
несколько раз, он добавляет новый qrcode, а не заменяет старый. Если это произойдет с вами, вам следует изменить код на $('#qrcode').empty().qrcode({ .... });
(обратите внимание на empty()
, который я добавил)
@AlonEitan, вы можете найти библиотеку здесь codepen.io/ризопулос/pen/KWjmQx
@codeworking Да, значит, у него та проблема, о которой я говорил, проверьте эта рабочий пример. Вы видите 2 qrcode в первой оболочке и только один во второй, потому что я добавил empty()
@AlonEitan хорошо, это работает! Так что в основном это библиотека jquery.qrcode.js. Где в документации говорится о empty() ?
@codeworking Нигде, я только что проверил эту библиотеку и заметил ее, поэтому я подумал, что дам вам знать заранее
Хорошо, спасибо Алону и Йонасу за терпение.
Странно то, что страница библиотеки имеет точно такой же пример, который ищет OP.