Problema ao criar post com formulário

3 participantes

Ver o tópico anterior Ver o tópico seguinte Ir para baixo

  • 0

Tópico resolvido Problema ao criar post com formulário

Mensagem por perlesias 27.12.23 9:26

Detalhes da questão


Endereço do fórum: https://pruebacodestemaclaro.foroactivo.com
Versão do fórum: phpBB3

Descrição


Problema ao criar post com formulário 11010

Olá, peço a ajuda de vocês, quero implementar um formulário para criação de posts em meu fórum, mas estou com uma dúvida. Queria perguntar se isso pode ser feito para que o próprio usuário, ao criar um novo post através do formulário, possa inserir seu título, ao invés de ter um título fixo por padrão para todos os posts.?

Code JS:
Código:


function calcAge(dateString) {
  var birthday = +new Date(dateString);
  return ~~((Date.now() - birthday) / (31557600000));

$(function() {
  //QUOTE -> LOAD SUPERFORMULARIO 
  $('blockquote').filter(function(){
      var regex = /^\[SUPERFORMULARIO\]\d+$/g;
      return regex.test($(this).text()); 
  }).each(function() {
      var sf_hid = $(this).text().split('[SUPERFORMULARIO]')[1];     
      $('<iframe id="SF_' +  sf_hid + '" src="/h' + sf_hid + '-" width="100%" height="500px" frameborder=0 scrolling=auto></iframe>').insertBefore($(this));
      $(this).remove();
      $("#SF_" + sf_hid).load(function() {
        this.style.height = (this.contentWindow.document.body.offsetHeight + 50) + 'px';
      });
  }); 
 
  //STRONG -> EDAD
  $('table.sf_table strong').filter(function(){
      var regex = /^\[SF_EDAD\](0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/g;
      return regex.test($(this).text());     
  }).each(function() {
      try{
        var sf_fecha = $(this).text().split('[SF_EDAD]')[1];
        var sf_fecha_arr  = sf_fecha.split("/");
        var ye, mo, da;
        ye = sf_fecha_arr[2];
        mo = sf_fecha_arr[1];
        da = sf_fecha_arr[0];
       
        $(this).html(calcAge(ye+"-"+mo+"-"+da));
      }catch(err){
        console.log("SF_EDAD: " + err);
      }
  });     
});

Code CSS

Código:


function calcAge(dateString) {
  var birthday = +new Date(dateString);
  return ~~((Date.now() - birthday) / (31557600000));

$(function() {
  //QUOTE -> LOAD SUPERFORMULARIO 
  $('blockquote').filter(function(){
      var regex = /^\[SUPERFORMULARIO\]\d+$/g;
      return regex.test($(this).text()); 
  }).each(function() {
      var sf_hid = $(this).text().split('[SUPERFORMULARIO]')[1];     
      $('<iframe id="SF_' +  sf_hid + '" src="/h' + sf_hid + '-" width="100%" height="500px" frameborder=0 scrolling=auto></iframe>').insertBefore($(this));
      $(this).remove();
      $("#SF_" + sf_hid).load(function() {
        this.style.height = (this.contentWindow.document.body.offsetHeight + 50) + 'px';
      });
  }); 
 
  //STRONG -> EDAD
  $('table.sf_table strong').filter(function(){
      var regex = /^\[SF_EDAD\](0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/g;
      return regex.test($(this).text());     
  }).each(function() {
      try{
        var sf_fecha = $(this).text().split('[SF_EDAD]')[1];
        var sf_fecha_arr  = sf_fecha.split("/");
        var ye, mo, da;
        ye = sf_fecha_arr[2];
        mo = sf_fecha_arr[1];
        da = sf_fecha_arr[0];
       
        $(this).html(calcAge(ye+"-"+mo+"-"+da));
      }catch(err){
        console.log("SF_EDAD: " + err);
      }
  });     
});

Uma saudação
perlesias

perlesias
Novo Membro

Membro desde : 27/12/2023
Mensagens : 17
Pontos : 50

https://pruebacodestemaclaro.foroactivo.com

Ir para o topo Ir para baixo

Principal Contribuidor

Tópico resolvido Re: Problema ao criar post com formulário

Mensagem por Shek 27.12.23 23:25

Olá! Welcome FdF

Antes de mais nada, obrigado por sua dúvida! Recomendo salvar o código original do formulário em um bloco de notas, ok? Contudo, o código que forneceu na sua mensagem não condiz com um formulário de postagens. Hmmm Porém, eu acessei o fórum e percebi que tem uma página HTML com formulário criada, então eu creio que deseja ajuda com esse formulário. Se for isso mesmo, você pode localizar no seu código o trecho MISCAMPOS["Usuario"] = ["Usuario", CAMPO.USUARIO]; e depois dele inserir uma nova linha:
Código:
MISCAMPOS["subject"] = ["Titulo", CAMPO.TITULO, TIPO.OBLIGATORIO, GRUPO.DATOSPERSONALES];
Quando fizer, localize novamente este trecho:
Código:
case CAMPO.IMAGEN:if(!r&&q=="")q="URL de imagen";a+=y;a+="<input "+tip+" class='"+getClase(key,"input")+" fasf_input_img' placeholder='"+q+"' "+u+" type='text' name='"+key+"' id='"+key+"' "+t+" "+m+"/> <img title='Subir imagen' alt='Subir imagen' id='sf_img_hosting' src='https://i.servimg.com/u/f37/17/45/19/77/image_10.png' onclick='openTinypic()' />";a+="</td>";break;
Ao encontrá-lo, basta inserir depois ou antes o código abaixo:
Código:
case CAMPO.TITULO:if(!r&&q=="")q="Título do tópico";a+=y;a+="<input type='text' class='"+getClase(key,"input")+" fasf_input_text' placeholder='"+q+"' "+u+" name='"+key+"' id='"+key+"' "+t+" "+m+"/>";a+="</td>";break;
Salve o código e teste o formulário. Piscada

Atenciosamente,
Shek King
Shek

Shek
Principal Contribuidor
Principal Contribuidor

Membro desde : 11/04/2009
Mensagens : 19006
Pontos : 22969

https://shiftactive.blogspot.com/ https://www.facebook.com/ShiftActif https://twitter.com/ShiftActif

Ir para o topo Ir para baixo

  • 0

Tópico resolvido Re: Problema ao criar post com formulário

Mensagem por perlesias 28.12.23 9:03

Muito obrigado pela sua ajuda querido Shek, funciona perfeitamente. Queria perguntar a vocês, já que instalei um sistema automático de prefixo para títulos, pode ser implementado para colocar o prefixo do formulário?

Code JS
Código:

$(function() {
        const PREFIJOS_TEMAS = [];
        /**** ZONA EDITABLE ***/
        PREFIJOS_TEMAS.push(new Array("[FLAC CD]", "gold"));
        PREFIJOS_TEMAS.push(new Array("[FLAC VINYL]", "gold"));
        PREFIJOS_TEMAS.push(new Array("[FLAC CASSETTE]", "gold"));
        PREFIJOS_TEMAS.push(new Array("[FLAC WEB]", "gold"));
        PREFIJOS_TEMAS.push(new Array("[WAV CD]", "#018726"));
        PREFIJOS_TEMAS.push(new Array("[WAV VINYL]", "#018726"));
        PREFIJOS_TEMAS.push(new Array("[WAV CASSETTE]", "#018726"));
        PREFIJOS_TEMAS.push(new Array("[WAV WEB]", "#018726"));
        PREFIJOS_TEMAS.push(new Array("[MP3 CD]", "#C40000"));
        PREFIJOS_TEMAS.push(new Array("[MP3 VINYL]", "#C40000"));
        PREFIJOS_TEMAS.push(new Array("[MP3 CASSETTE]", "#C40000"));
        PREFIJOS_TEMAS.push(new Array("[MP3 WEB]", "#C40000"));

        const añadir_estilo_enlaces_temas = true; /* true ó false */
        const eliminarCorchetes = true; /* true ó false */

        /*** FIN ZONA EDITABLE ***/

        if (/^\/post/.test($(location).attr('pathname') + $(location).attr('search')) && $('.submit-buttons input[value="newtopic"]').length) {
            let html_options_prefijo = "<select name='prefijos'><option value='' style='background:COLOR'>== Prefijos ==</option>";
            for (let prefijo in PREFIJOS_TEMAS) {
                html_options_prefijo += "<option value='" + PREFIJOS_TEMAS[prefijo][0] + "' style='background:" + PREFIJOS_TEMAS[prefijo][1] + "'>" + PREFIJOS_TEMAS[prefijo][0] + "</option>"
            }
            html_options_prefijo += "</select>";
            $('input[name="subject"]').before(html_options_prefijo);
            $("form[method='post']").submit(function() {
                $('input[name="subject"]').val(($('select[name="prefijos"]').val() ? $('select[name="prefijos"]').val() + " " : "") + $('input[name="subject"]').val())
            })
        }

        if (añadir_estilo_enlaces_temas == true) {
          $('a').filter(function(){return /^\/t\d+(p\d+)?\-/.test($(this).attr("href")) }).each(function() {
                for (let prefijo in PREFIJOS_TEMAS) {
                    let preSin = PREFIJOS_TEMAS[prefijo][0].replace("[", "").replace("]", "");
                    let prePatron = new RegExp("\\[" + preSin + "\\]");
                    if (prePatron.test($(this).text())) {
                        let preBool = (eliminarCorchetes == true) ? preSin : PREFIJOS_TEMAS[prefijo][0];
                        $(this).html($(this).html().replace(prePatron, "<span class='title_prefix title_prefix-" + preSin.toLowerCase().replace(/\s/g,"_") + "'>" + preBool + "</span>"));
                        break;
                    }
                }
            });
        }
    });


Code CSS
Código:

/*prefijos*/
.title_prefix-flac_cd {
    background: gold;
    padding: 2px 4px;;
    border-radius: 3px;
    color: red;
    font-weight: bold;
    border: 1px solid #8b8787;
    font-size: 11px;
}
.title_prefix-flac_vinyl {
    background: gold;
    padding: 2px 4px;;
    border-radius: 3px;
    color: red;
    font-weight: bold;
    border: 1px solid #8b8787;
    font-size: 11px;
}
.title_prefix-flac_web {
    background: gold;
    padding: 2px 4px;;
    border-radius: 3px;
    color: red;
    font-weight: bold;
    border: 1px solid #8b8787;
    font-size: 11px;
}
.title_prefix-flac_cassette {
    background: gold;
    padding: 2px 4px;;
    border-radius: 3px;
    color: red;
    font-weight: bold;
    border: 1px solid #8b8787;
    font-size: 11px;
}
.title_prefix-wav_cd {
    background: #018726;
    padding: 2px 4px;;
    border-radius: 3px;
    color: white;
    font-weight: bold;
    border: 1px solid #8b8787;
    font-size: 11px;
}
.title_prefix-wav_vinyl {
    background: #018726;
    padding: 2px 4px;;
    border-radius: 3px;
    color: white;
    font-weight: bold;
    border: 1px solid #8b8787;
    font-size: 11px;
}
.title_prefix-wav_web {
    background: #018726;
    padding: 2px 4px;;
    border-radius: 3px;
    color: white;
    font-weight: bold;
    border: 1px solid #8b8787;
    font-size: 11px;
}
.title_prefix-wav_cassette {
    background: #018726;
    padding: 2px 4px;;
    border-radius: 3px;
    color: white;
    font-weight: bold;
    border: 1px solid #8b8787;
    font-size: 11px;
}
.title_prefix-mp3_cd {
    background: #C40000;
    padding: 2px 4px;;
    border-radius: 3px;
    color: white;
    font-weight: bold;
    border: 1px solid #8b8787;
    font-size: 11px;
}
.title_prefix-mp3_vinyl {
    background: #C40000;
    padding: 2px 4px;;
    border-radius: 3px;
    color: white;
    font-weight: bold;
    border: 1px solid #8b8787;
    font-size: 11px;
}
.title_prefix-mp3_web {
    background: #C40000;
    padding: 2px 4px;;
    border-radius: 3px;
    color: white;
    font-weight: bold;
    border: 1px solid #8b8787;
    font-size: 11px;
}
.title_prefix-mp3_cassette {
    background: #C40000;
    padding: 2px 4px;;
    border-radius: 3px;
    color: white;
    font-weight: bold;
    border: 1px solid #8b8787;
    font-size: 11px;
}

/*fin prefijos*/

Melhores cumprimentos e boas festas
perlesias

perlesias
Novo Membro

Membro desde : 27/12/2023
Mensagens : 17
Pontos : 50

https://pruebacodestemaclaro.foroactivo.com

Ir para o topo Ir para baixo

Principal Contribuidor

Tópico resolvido Re: Problema ao criar post com formulário

Mensagem por Shek 29.12.23 0:10

Olá novamente @perlesias!

Seria mais fácil com o código do formulário. Seco Os códigos que está postando não tem nada a ver com o formulário em si. Regras Por favor, considere postar o código do formulário na sua próxima mensagem, caso os passos a seguir não tenham dado certo. Positivo

Você terá que inserir antes do MISCAMPOS["subject"] = ["Titulo", CAMPO.TITULO, TIPO.OBLIGATORIO, GRUPO.DATOSPERSONALES]; o seguinte novo código:
Código:
MISCAMPOS["Prefijos"] = ["Prefijos", CAMPO.DESPLEGABLE, TIPO.OBLIGATORIO, GRUPO.DATOSPERSONALES, ["[FLAC CD]", "[FLAC VINYL]", "[FLAC CASSETTE]", "[FLAC WEB]", "[WAV CD]", "[WAV VINYL]", "[WAV CASSETTE]", "[WAV WEB]", "[MP3 CD]", "[MP3 VINYL]", "[MP3 CASSETTE]", "[MP3 WEB]"]];
Feito isso, altere o campo MISCAMPOS["subject"] = ["Titulo", CAMPO.TITULO, TIPO.OBLIGATORIO, GRUPO.DATOSPERSONALES]; para:
Código:
MISCAMPOS["subjects"] = ["Titulo", CAMPO.TITULO, TIPO.OBLIGATORIO, GRUPO.DATOSPERSONALES];

Quando fizer essas mudanças, localize o seguinte trecho:
Código:
jQuery("input#titulo").val(TITULO_FORMULARIO);
Substitua-o por:
Código:
jQuery("input#titulo").val($('#Prefijos').val() + ' ' + $('#subjects').val());
Observação: não sei, mas não consigo impedir que o prefixo apareça na sua mensagem (acredito que o código esteja "ofuscado", o que impede a edição expressa. Você pode contatar o desenvolvedor do código para modificar o trecho para impedir que ele apareça. Por outro lado, recomendo usar o gerador de formulários do FDF se não conseguir contato om o desenvolvedor: https://ajuda.forumeiros.com/h15-form

Salve o formulário e veja se é o que precisa. Piscada
Shek

Shek
Principal Contribuidor
Principal Contribuidor

Membro desde : 11/04/2009
Mensagens : 19006
Pontos : 22969

https://shiftactive.blogspot.com/ https://www.facebook.com/ShiftActif https://twitter.com/ShiftActif

Ir para o topo Ir para baixo

Tópico resolvido Re: Problema ao criar post com formulário

Mensagem por perlesias 29.12.23 10:21

@Shek Bem, funciona corretamente, mas se esses dois campos (Título e Prefixo) pudessem ser ocultados no momento do envio da mensagem, seria fantástico. Algum CSS para ocultar esses campos, mesmo os que estão em negrito? Obrigado amigo pelo seu tempo e trabalho.

Problema ao criar post com formulário Iii10

perlesias

perlesias
Novo Membro

Membro desde : 27/12/2023
Mensagens : 17
Pontos : 50

https://pruebacodestemaclaro.foroactivo.com

Ir para o topo Ir para baixo

Principal Contribuidor

Tópico resolvido Re: Problema ao criar post com formulário

Mensagem por Shek 29.12.23 16:22

Boa tarde.
Shek escreveu:Observação: não sei, mas não consigo impedir que o prefixo apareça na sua mensagem (acredito que o código esteja "ofuscado", o que impede a edição expressa. Você pode contatar o desenvolvedor do código para modificar o trecho para impedir que ele apareça.
Como expliquei, não sei como fazer isso. Contate o desenvolvedor do código original ou se @tikky tiver alguma sugestão (por ter um conhecimento mais avançado em códigos), poderá sanar 100% do pedido.

Atenciosamente,
Shek
Shek

Shek
Principal Contribuidor
Principal Contribuidor

Membro desde : 11/04/2009
Mensagens : 19006
Pontos : 22969

https://shiftactive.blogspot.com/ https://www.facebook.com/ShiftActif https://twitter.com/ShiftActif

Ir para o topo Ir para baixo

Tópico resolvido Re: Problema ao criar post com formulário

Mensagem por perlesias 29.12.23 17:31

Olá novamente @Shek , tentei inserir o código que possuo para meu formulário, mas recebo um aviso de que a mensagem é muito longa e não me permite inseri-la. Se precisar ver para facilitar seu trabalho, me diga como fazer. Talvez enviando para algum arquivo de texto. Obrigado mais uma vez pelo seu trabalho e pelo seu interesse em resolver este problema que tenho. Este é o melhor fórum de suporte que conheço.
Saudações
perlesias

perlesias
Novo Membro

Membro desde : 27/12/2023
Mensagens : 17
Pontos : 50

https://pruebacodestemaclaro.foroactivo.com

Ir para o topo Ir para baixo

Ajudeiro

Tópico resolvido Re: Problema ao criar post com formulário

Mensagem por Sleep 01.01.24 13:51

perlesias escreveu:Olá novamente  @Shek , tentei inserir o código que possuo para meu formulário, mas recebo um aviso de que a mensagem é muito longa e não me permite inseri-la. Se precisar ver para facilitar seu trabalho, me diga como fazer. Talvez enviando para algum arquivo de texto. Obrigado mais uma vez pelo seu trabalho e pelo seu interesse em resolver este problema que tenho. Este é o melhor fórum de suporte que conheço.
Saudações

Boa tarde @perlesias,

Vamos aguardar o @tikky, caso deseje a resolução a 100% do problema.

Visto que o @Shek, auxiliou na sua questão.
Sleep

Sleep
Ajudeiro
Ajudeiro

Membro desde : 10/08/2012
Mensagens : 1117
Pontos : 1352

https://ajuda.forumeiros.com/

Ir para o topo Ir para baixo

Principal Contribuidor

Tópico resolvido Re: Problema ao criar post com formulário

Mensagem por Shek 02.01.24 22:08

Boa tarde.

Adicione um código CSS a sua folha e veja se resulta:
Código:
.sf_light_tabla tr:nth-child(3), .sf_light_tabla tr:nth-child(4) {
    display: none;
}
Att. Shek King
Shek

Shek
Principal Contribuidor
Principal Contribuidor

Membro desde : 11/04/2009
Mensagens : 19006
Pontos : 22969

https://shiftactive.blogspot.com/ https://www.facebook.com/ShiftActif https://twitter.com/ShiftActif

Ir para o topo Ir para baixo

  • 0

Tópico resolvido Re: Problema ao criar post com formulário

Mensagem por perlesias 03.01.24 8:40

Muito obrigado @Shek, você é um gênio! Tive uma idéia!
perlesias

perlesias
Novo Membro

Membro desde : 27/12/2023
Mensagens : 17
Pontos : 50

https://pruebacodestemaclaro.foroactivo.com

Ir para o topo Ir para baixo

Principal Contribuidor

Tópico resolvido Re: Problema ao criar post com formulário

Mensagem por Shek 03.01.24 22:20

De nada. Se sua dúvida está resolvida, clica no botão Obrigado da mensagem que resolveu a dúvida, e depois em Resolvido .
Shek

Shek
Principal Contribuidor
Principal Contribuidor

Membro desde : 11/04/2009
Mensagens : 19006
Pontos : 22969

https://shiftactive.blogspot.com/ https://www.facebook.com/ShiftActif https://twitter.com/ShiftActif

Ir para o topo Ir para baixo

Ajudeiro
  • 0

Tópico resolvido Re: Problema ao criar post com formulário

Mensagem por Sleep 03.01.24 23:32

Tópico resolvido


Movido para "Questões resolvidas".
Sleep

Sleep
Ajudeiro
Ajudeiro

Membro desde : 10/08/2012
Mensagens : 1117
Pontos : 1352

https://ajuda.forumeiros.com/

Ir para o topo Ir para baixo

Ver o tópico anterior Ver o tópico seguinte Ir para o topo

- Tópicos semelhantes

Permissões neste sub-fórum
Não podes responder a tópicos