Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Situação Problema


ACPF

Pergunta

Pessoal, o problema é o seguinte:

Tenho em um formulário um campo do tipo textarea, sendo que ele aparece somente quando um checkbox é clicado. Para isso uso o display: none e display: block.

Quando o campo não está visivel é porque não preciso preenche-lo. Mas, quando vou salvar (submit) os dados do pequeno formulario aparece um erro de javascript dizendo que um objeto é requerido e quando vou debugar no firefox aparece que o campo textarea é nulo.

Para facilitar o entendimento segue o código.alguém poderia me ajudar?

<form action="java script: if (document.getElementById('chkcautela#lbry_seq#').checked && validaRemarks(document.getElementById('lbry_remarks#lbry_seq#').value)=='Vazio'){alert('Reason is required');} else if(!document.getElementById('chkcautela#lbry_seq#').checked && validaRemarks(document.getElementById('lbry_remarks#lbry_seq#').value)=='Cheio'){alert('Is not cautela');} else if (!document.getElementById('chkcautela#lbry_seq#').checked && validaRemarks(document.getElementById('lbry_remarks#lbry_seq#').value)=='Vazio'){if (document.getElementById('site').value == 'GPX'){window.location.href='index.cfm?fuseaction=home.request&act=reserve&lbry_seq=' + document.getElementById('lbry_seq#lbry_seq#').value + '&lbrq_lbrt_seq=1&dt_need=' + document.getElementById('dt_need#lbry_seq#').value + '&dt_delivery=' + document.getElementById('dt_delivery#lbry_seq#').value + '&user_emprest=' + document.getElementById('lbrq_user_emprest#lbry_seq#').value + '&cautela=' + document.getElementById('chk_cautela#lbry_seq#').value + '&lbry_remarks=' + document.getElementById('lbry_remarks').value + '&lbry_remarks=' + document.getElementById('lbry_remarks#lbry_seq#').value + '&filterString=#url.filterString#';} else {window.location.href='index.cfm?fuseaction=home.request&act=reserve&lbry_seq=' + document.getElementById('lbry_seq#lbry_seq#').value + '&lbrq_lbrt_seq=2&dt_need=' + document.getElementById('dt_need#lbry_seq#').value + '&dt_delivery=' + document.getElementById('dt_delivery#lbry_seq#').value + '&user_emprest=' + document.getElementById('lbrq_user_emprest#lbry_seq#').value + '&lbry_cautela=' + document.getElementById('chk_cautela#lbry_seq#').value + '&lbry_remarks=' + document.getElementById('lbry_remarks#lbry_seq#').value + '&filterString=#url.filterString#'}}" method="post">
                        <div id="dFields#lbry_seq#" align="left" style="display:none">
                             <input type="Hidden" id="lbry_seq#lbry_seq#" name="lbry_seq#lbry_seq#" value="#lbry_seq#">
                             Necessary To: <input type="Text" id="dt_need#lbry_seq#" name="dt_need#lbry_seq#" size="11" maxlength="10" onkeyup="java script: formataData(this,event);">&nbsp;&nbsp;&nbsp;
                             Delivery Date: <input type="Text" id="dt_delivery#lbry_seq#" name="dt_delivery#lbry_seq#" size="11" maxlength="10"
                              <cfif listfind(Client.wrkg_seq,1001407)>disabled</cfif> onkeyup="java script: formataData(this,event);">&nbsp;&nbsp;
                             <br>
                             User: <select name="lbrq_user_emprest#lbry_seq#" id="lbrq_user_emprest#lbry_seq#">
                                    <option value="0" selected>Select</option>
                                    <cfloop query="q_get_fti_all_users">
                                        <option value="#user_seq#">#user_name#</option>
                                    </cfloop>
                                   </select>
                             Cautela? <input type="Checkbox" name="chkcautela#lbry_seq#" id="chkcautela#lbry_seq#" value="0" onclick="java script: if (this.checked){document.getElementById('chk_cautela#lbry_seq#').value = 1;document.getElementById('dReason#lbry_seq#').style.display = 'block'}else{document.getElementById('chk_cautela#lbry_seq#').value = 0;document.getElementById('dReason#lbry_seq#').style.display = 'none'}">
                             <input type="Hidden" id="chk_cautela#lbry_seq#" name="chk_cautela#lbry_seq#" value="java script: if (document.getElementById('chkcautela#lbry_seq#').checked){document.getElementById('chk_cautela#lbry_seq#').value = 1}else{document.getElementById('chk_cautela#lbry_seq#').value = 0;}">
                             <br>
                             <div id="dReason#lbry_seq#" style="display: none;">
                                Reason:<br><textarea style="width:50%;" rows="3" maxlength="250" name="lbry_remarks#lbry_seq#" id="lbry_reamrks#lbry_seq#"></textarea>
                             </div>
                             <input type="Submit" value="Save">                             
                        </div> 
                        Reserve from<br>
                        <a style="cursor: hand;" onclick="document.getElementById('site').value = 'GPX';document.getElementById('dFields#lbry_seq#').style.display = 'block';">
                            <font style="color:##008000;"><b>JJX</b></font>
                        </a>&nbsp;&nbsp;
                        <a style="cursor: hand;" onclick="document.getElementById('site').value = 'GPX';document.getElementById('dFields#lbry_seq#').style.display = 'block';">
                            <font style="color:red;"><b>SSX</b></font>
                        </a>
                     </form>

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Ei, o código está "meio" desorganizado.

Tenta criar uma função para cada código desse, a fim de melhorar a organização !

De qualquer forma, você poderia verificar se o elemento é nulo antes de chamá-lo

Exemplo:

if (document.getElementById("elemento")!=null) {
// O elemento não é nulo, podemos utilizá-lo
alert("O conteúdo do elemento é " + document.getElementById("elemento").innerHTML)
}else{
// Não podemos utilizar o elemento
alert("Não é possível utilizar o elemento !")
}

Espero ter ajudado !

Link para o comentário
Compartilhar em outros sites

  • 0
Ei, o código está "meio" desorganizado.

Tenta criar uma função para cada código desse, a fim de melhorar a organização !

De qualquer forma, você poderia verificar se o elemento é nulo antes de chamá-lo

Exemplo:

if (document.getElementById("elemento")!=null) {
// O elemento não é nulo, podemos utilizá-lo
alert("O conteúdo do elemento é " + document.getElementById("elemento").innerHTML)
}else{
// Não podemos utilizar o elemento
alert("Não é possível utilizar o elemento !")
}

Espero ter ajudado !

Com a idéia de organizar o código em funções eu consegui encontrar o erro. Como meu tempo para esta fase do projeto está ultra apertado. Melhoria do código ficará para a fase seguinte.

Mas, aqui fica meu muito obrigado.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...