franvpg Posted December 30, 2019 Share Posted December 30, 2019 Hola, tengo un problema con el formulario de contacto que no consigo solucionar, a ver si alguien se le ocurre donde puede estar la solución. Por algún motivo el campo de texto del formulario de contacto que viene por defecto en prestashop (mi version es la 1.6) solamente deja introducir 69 caracteres. Justo debajo del campo mensaje aparece una pequeña leyenda con los caracteres introducidos, los restantes y las palabras como esta: 0 caracteres | 69 caracteres restantes | 0 palabras Como se podría quitar esa limitación de caracteres? o al menos cambiar ese límite ya que es muy escaso. Desde ya gracias por cualquier idea que se os pueda ocurrir para intentar solucionarlo. Link to comment Share on other sites More sharing options...
joseantgv Posted December 30, 2019 Share Posted December 30, 2019 Es por el módulo de Correos. 1 Link to comment Share on other sites More sharing options...
franvpg Posted December 30, 2019 Author Share Posted December 30, 2019 3 hours ago, joseantgv said: Es por el módulo de Correos. Sabrías que hay que modificar para quitar ese límite? Ando bastante perdido la verdad. Link to comment Share on other sites More sharing options...
joseantgv Posted December 30, 2019 Share Posted December 30, 2019 El control está en un JS. Entiendo que han añadido esa restricción porque habrá un límite en su API, luego si lo quitas posiblemente los envíos que vayan a Correos fallen. Te aconsejo que hables con ellos para que te den más información. 1 Link to comment Share on other sites More sharing options...
franvpg Posted December 30, 2019 Author Share Posted December 30, 2019 (edited) 1 hour ago, joseantgv said: El control está en un JS. Entiendo que han añadido esa restricción porque habrá un límite en su API, luego si lo quitas posiblemente los envíos que vayan a Correos fallen. Te aconsejo que hables con ellos para que te den más información. Efectivamente el problema viene del modulo de correosexpress. Dudo mucho que ellos sepan o quieran molestarse en arreglarlo, por mi experiencia con ellos cada vez que algo falla se lavan las manos. Creo haber encontrado el archivo js a modificar aunque no tengo muy claro que tocar, pego aquí el archivo por si puedes echarle un vistazo: function($){ $.fn.textareaCount = function(options, fn) { var defaults = { maxCharacterSize: -1, originalStyle: 'originalTextareaInfo', warningStyle: 'warningTextareaInfo', warningNumber: 20, displayFormat: '#input caracteres | #words palabras' }; var options = $.extend(defaults, options); var container = $(this); $("<div class='charleft'> </div>").insertAfter(container); //create charleft css var charLeftCss = { 'width' : container.width() }; var charLeftInfo = getNextCharLeftInformation(container); charLeftInfo.addClass(options.originalStyle); charLeftInfo.css(charLeftCss); var numInput = 0; var maxCharacters = options.maxCharacterSize; var numLeft = 0; var numWords = 0; container.bind('keyup', function(event){limitTextAreaByCharacterCount();}) .bind('mouseover', function(event){setTimeout(function(){limitTextAreaByCharacterCount();}, 10);}) .bind('paste', function(event){setTimeout(function(){limitTextAreaByCharacterCount();}, 10);}); function limitTextAreaByCharacterCount(){ charLeftInfo.html(countByCharacters()); //function call back if(typeof fn != 'undefined'){ fn.call(this, getInfo()); } return true; } function countByCharacters(){ var content = container.val(); var contentLength = content.length; //Start Cut if(options.maxCharacterSize > 0){ //If copied content is already more than maxCharacterSize, chop it to maxCharacterSize. if(contentLength >= options.maxCharacterSize) { content = content.substring(0, options.maxCharacterSize); } var newlineCount = getNewlineCount(content); // newlineCount new line character. For windows, it occupies 2 characters var systemmaxCharacterSize = options.maxCharacterSize - newlineCount; if (!isWin()){ systemmaxCharacterSize = options.maxCharacterSize } if(contentLength > systemmaxCharacterSize){ //avoid scroll bar moving var originalScrollTopPosition = this.scrollTop; container.val(content.substring(0, systemmaxCharacterSize)); this.scrollTop = originalScrollTopPosition; } charLeftInfo.removeClass(options.warningStyle); if(systemmaxCharacterSize - contentLength <= options.warningNumber){ charLeftInfo.addClass(options.warningStyle); } numInput = container.val().length + newlineCount; if(!isWin()){ numInput = container.val().length; } numWords = countWord(getCleanedWordString(container.val())); numLeft = maxCharacters - numInput; } else { //normal count, no cut var newlineCount = getNewlineCount(content); numInput = container.val().length + newlineCount; if(!isWin()){ numInput = container.val().length; } numWords = countWord(getCleanedWordString(container.val())); } return formatDisplayInfo(); } function formatDisplayInfo(){ var format = options.displayFormat; format = format.replace('#input', numInput); format = format.replace('#words', numWords); //When maxCharacters <= 0, #max, #left cannot be substituted. if(maxCharacters > 0){ format = format.replace('#max', maxCharacters); format = format.replace('#left', numLeft); } return format; } function getInfo(){ var info = { input: numInput, max: maxCharacters, left: numLeft, words: numWords }; return info; } function getNextCharLeftInformation(container){ return container.next('.charleft'); } function isWin(){ var strOS = navigator.appVersion; if (strOS.toLowerCase().indexOf('win') != -1){ return true; } return false; } function getNewlineCount(content){ var newlineCount = 0; for(var i=0; i<content.length;i++){ if(content.charAt(i) == '\n'){ newlineCount++; } } return newlineCount; } function getCleanedWordString(content){ var fullStr = content + " "; var initial_whitespace_rExp = /^[^A-Za-z0-9]+/gi; var left_trimmedStr = fullStr.replace(initial_whitespace_rExp, ""); var non_alphanumerics_rExp = rExp = /[^A-Za-z0-9]+/gi; var cleanedStr = left_trimmedStr.replace(non_alphanumerics_rExp, " "); var splitString = cleanedStr.split(" "); return splitString; } function countWord(cleanedWordString){ var word_count = cleanedWordString.length-1; return word_count; } }; })(jQuery); Edited December 30, 2019 by franvpg (see edit history) Link to comment Share on other sites More sharing options...
joseantgv Posted December 31, 2019 Share Posted December 31, 2019 Mira este hilo Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now