• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

elcsat

ajuda em formulario com javascript

6 mensagens neste tópico

ola, gostaria que me ajudassem no seguinte eu quero alterar dados de um formulario conforme os select selecionado sem ter a necessidade de fazer refresh a pagina para fazer as alteraçoes de campos no formulario.

em internet explorer trablha mas eu nao consigo fazer em firefox, opera, netspace.... funcionar

um exemplo neste caso com um button do que pretendo

quando clico no botao teste ele vai ao campo <div id="qq">(....)</div> e vai substituir por um input do tipo texto, so que ao fazer o envio dos dados ele nao recebe esse dados. alguem me pode ajudar mas no caso para os outros broswers

<?php

echo "<br />q4 - ".$_POST['q4']."<br />";

?>

<html>

<head>

<script language="javascript" >

function qaz(){

alert("fsdsa");

document.getElementById('qq').innerHTML='<br />q4: <input type="text" name="q4">';

}

</script>

</head>

<body>

<form method="post" action="texte.php" name="form1" >

q1: <input type="text" name="q1">

<br /><br />

q2: <input type="text" name="q2">

<br /><br />

q3: <input type="text" name="q3">

<br /><br />

<div id="qq">

fd safdsa <br /><br />

fdsfdfdsa fdsaf dsaasff dsafdafdsa<br />gsda<br >afsafsaf fsdadsfafsafsafsa fdsa fdsaf ds

</div>

<br />

<input type="button" value="teste" onclick="qaz()" ><br /><br />

<input type="submit" value="enviar">

</form>

</body>

</html>

obrigada

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quando ponho o teu HTML no http://validator.w3.org/ ele dá-me 3 erros e 14 warnings!

Erros:

Line 1, Column 0: no document type declaration; implying "<!DOCTYPE HTML SYSTEM>"

Line 4, Column 33: required attribute "TYPE" not specified.

Line 13, Column 6: end tag for "HEAD" which is not finished.

Para corrigir os erros acrescentei um <!DOCTYPE ao teu HTML, acrescentei um <title>...</title>, um <meta>, alterei o atribute "language" do <script> para type="text/javascript", acrescentei um <div> ao teu <form> e meti os <br> com a forma que o HTML4Strict gosta.

Edit: Se queres fazer o teu site em XML ou XHTML, acho que o <br /> estava correcto

Depois destas alterações, quando experimentei no Firefox, funcionou!

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <title>JSTest</title>
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <script type="text/javascript">
    function qaz() {
      alert("fsdsa");
      document.getElementById('qq').innerHTML = '<br>q4: <input type="text" name="q4">';
    }
  </script>
</head>
<body>
  <form method="post" action="texte.php" name="form1">
    <div>
      q1: <input type="text" name="q1">
      <br><br>
      q2: <input type="text" name="q2">
      <br><br>
      q3: <input type="text" name="q3">
      <br><br>
      <div id="qq">
        fd safdsa <br><br>
        fdsfdfdsa fdsaf dsaasff dsafdafdsa<br>
        gsda<br>
        afsafsaf fsdadsfafsafsafsa fdsa fdsaf ds
      </div>
      <br>
      <input type="button" value="teste" onclick="qaz()"><br><br>
      <input type="submit" value="enviar">
    </div>
  </form>
</body>
</html>

Ah ... dei ao source um aspecto a que eu estou mais habituado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bom dia, eu nao meti no formato xhtml com o cabeçalho de dtd, mas nao é isso que me resolve o problema:), e como dize em cima era um exemplo para me explicar, mas obrigada pela resposta....fico a espera de uma soluçao para o problema em si

:P :P :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Desculpa, não tinha percebido bem a tua dúvida.

O teu HTML de exemplo, tal e qual como o puseste (sem o <?php do início) funciona para mim.

Quando fazes o submit, do teu HTML de exemplo, aparece-te a alert("fsdsa")?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ele trablha no internet explorer no meu pc, mas no mozilha nao:(:P:(

por isso e que postei a duvida:) mas se ninguem rsp deixa la eu faço com refresh a pagina:P ou faço um refresh so aquela parte com uma funçao de javascript

:)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta a extensão Firebug para o Firefox ...

http://getfirebug.com/

Quickly find errors

When things go wrong, Firebug lets you know immediately and gives you detailed and useful information about errors in JavaScript, CSS, and XML.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora