I need to, when filling out the form, the field "Note" was optional, i.e. can be left blank. And how to insert a picture in the thank-you text after sending the form. Here is the code snippet:

function isEmptyObj(obj) { for(var prop in obj) { if(obj.hasOwnProperty(prop)) return false; } return true; } function Order() { this.orderProducts = JSON.parse(localStorage.getItem('order')) || {}; this.products = jQuery('.ulwrap', '.row-fluid'); this.loc = jQuery('html').attr('lang').indexOf('ru') != -1 ? 'ru' : 'ua'; this.l_variables = { 'order' : { 'ru' : 'Π—Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ', 'ua' : 'Π—Π°ΠΌΠΎΠ²ΠΈΡ‚ΠΈ' }, 'sendButtonText' : { 'ru' : 'ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π·Π°ΠΊΠ°Π·', 'ua' : 'Π’Ρ–Π΄ΠΏΡ€Π°Π²ΠΈΡ‚ΠΈ замовлСння' }, 'cancelButtonText' : { 'ru' : 'ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ', 'ua' : 'Π’Ρ–Π΄ΠΌΡ–Π½ΠΈΡ‚ΠΈ' }, 'addToOrder' : { 'ru' : 'Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π·Π°ΠΊΠ°Π·Ρƒ', 'ua' : 'Π”ΠΎΠ΄Π°Ρ‚ΠΈ Π΄ΠΎ замовлСння' }, 'cart' : { 'ru' : 'Π’Π°Ρˆ Π·Π°ΠΊΠ°Π·: ', 'ua' : 'Π’Π°ΡˆΠ΅ замовлСння: ' }, 'cartTotal' : { 'ru' : 'Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π°ΠΊΠ°Π·Π°: ', 'ua' : 'Π’Π°Ρ€Ρ‚Ρ–ΡΡ‚ΡŒ замовлСння: ' }, 'formTitle' : { 'ru' : 'Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ поТалуйста ваши ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅', 'ua' : 'Π’ΠΊΠ°ΠΆΡ–Ρ‚ΡŒ Π±ΡƒΠ΄ΡŒΠ»Π°ΡΠΊΠ° Π²Π°ΡˆΡ– ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ– Π΄Π°Π½Ρ–' }, 'formDataName' : { 'ru' : 'Π’Π°ΡˆΠ΅ Имя:', 'ua' : 'Π’Π°ΡˆΠ΅ Π†ΠΌ'я:' }, 'formDataPhone' : { 'ru' : 'ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½:', 'ua' : 'ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½ΠΈΠΉ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½' }, 'formDataAddress' : { 'ru' : 'Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ адрСсс доставки', 'ua' : 'Π’ΠΊΠ°ΠΆΡ–Ρ‚ΡŒ адрСсу доставки' }, 'formDataQuantity' : { 'ru' : 'Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ количСство ΠΏΡ€ΠΈΠ±ΠΎΡ€ΠΎΠ²', 'ua' : 'Π’ΠΊΠ°ΠΆΡ–Ρ‚ΡŒ ΠΊΡ–Π»ΡŒΠΊΡ–ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ±ΠΎΡ€Ρ–Π²' }, 'formDataPrim' : { 'ru' : 'ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅', 'ua' : 'ΠŸΡ€ΠΈΠΌΡ–Ρ‚ΠΊΠ°' }, 'orderThankYouText' : { 'ru' : 'Бпасибо Π·Π° ваш Π·Π°ΠΊΠ°Π·! Π’ блиТайшСС врСмя с Π²Π°ΠΌΠΈ свяТСтся наш ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ для подтвСрТдСния Π·Π°ΠΊΠ°Π·Π°.', 'ua' : 'Дякуємо Π·Π° вашС замовлСння! НайблиТчим часом Π²Π°ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π·Π²ΠΎΠ½ΠΈΡ‚ΡŒ наш ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ для підтвСрдТСння замовлСння.' } }; this.linkAdded = false; this.cartAdded = false; this.cart = jQuery('<div class="cart" />'); this.addOrderLink(); this.checkOrder(); } Order.prototype.checkOrder = function() { if (!isEmptyObj(this.orderProducts) && !this.cartAdded) { this.cart.empty(); jQuery('#headerwrap').append(this.cart); this.cart.append('<p>' + this.l_variables.cart[this.loc] + '<span id="orderSumm"></span></p>', '<ul class="cart-list" />'); this.cartAdded = true; } this.updateCart(); }; Order.prototype.placeOrder = function(callback) { var self = this, modalWrap = jQuery('<div id="orderConfirm" />'), form = jQuery('<form />'), cancelButton = jQuery('<button>' + this.l_variables.cancelButtonText[this.loc] + '</button>'); jQuery('body').append(modalWrap); modalWrap.append('<h3>' + this.l_variables.formTitle[this.loc] + '</h3>', form); form.append('<p><input type="text" required name="clientName" placeholder="' + this.l_variables.formDataName[this.loc] + '" /></p>' + '<p><input type="text" required name="clientPhone" placeholder="' + this.l_variables.formDataPhone[this.loc] + '" /></p>' + '<p><input type="text" required name="clientAddress" placeholder="' + this.l_variables.formDataAddress[this.loc] + '" /></p>' + '<p><input type="text" required name="quantity" placeholder="' + this.l_variables.formDataQuantity[this.loc] + '" /></p>' + '<p><input type="text" required name="prim" placeholder="' + this.l_variables.formDataPrim[this.loc] + '" /></p>' + '<button type="submit">' + this.l_variables.sendButtonText[this.loc] + '</button>', cancelButton); form.on('submit', function(e) { e.preventDefault(); var pr = '', j = 0; jQuery.each(self.orderProducts, function() { pr += this.name + '^' + this.price + '^' + this.count + '~'; j++; }); callback(pr, form.serialize()); }); cancelButton.on('click', function(e) { e.preventDefault(); modalWrap.remove(); }); }; 

    1 answer 1

    the parameter "required" means that the field is required to clear it and the field will no longer be required