Abrir novo formulário com radio dinamicamente
http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Olá.... preciso de uma ajudinha pois não sei mais o que fazer . :(
estou construindo uma página mas não estou conseguindo fazer a o formulário desaparecer ou aparecer , apenas selecionando o radio.
dependendo a escolha do radio, (turma, departamento) terá que criar um drop com o respectivo resultado do banco..... fiz tudo mas não consigo. peguei um codigo de um amigo e funcionou, mas quando coloquei ak parou de funcionar.
Por favor alguem me ajude.
este código e a pagina que preciso fazer funcionar:
ava_cadastrar0.php
==============================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "[http://www.w3.org/TR/html4/loose.dtd">NOVO](http://www.w3.org/TR/html4/loose.dtd) CURSO</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link href="estilo.css" rel="stylesheet" type="text/css"><script LANGUAGE="JavaScript">/*function checa(nform) { //checando se os campos foram preenchidos if (nform['name_turma'].value == 0) { alert('Selecione a Turma.'); nform.name_turma.focus(); return false; } if (nform.nome.value == "") { alert("Digite o Nome da Avaliação"); nform.nome.focus(); nform.nome.select(); return false; } if (nform.descricao.value == "") { alert("Digite a Descrição da Avaliação"); nform.descricao.focus(); nform.descricao.select(); return false; } if (nform.testDateFormat5.value == "") { alert("Digite a Data que ocorrerá da Avaliação"); nform.testDateFormat5.focus(); nform.testDateFormat5.select(); return false; } if (nform.quantidade.value == "") { alert("Digite a quantidade de Departamentos a serem Avaliados"); nform.quantidade.focus(); nform.quantidade.select(); return false; }}// Check browser versionvar isNav4 = false, isNav5 = false, isIE4 = falsevar strSeperator = "/"; // If you are using any Java validation on the back side you will want to use the / because // Java date validations do not recognize the dash as a valid date separator.var vDateType = 3; // Global value for type of date format// 1 = mm/dd/yyyy// 2 = yyyy/dd/mm (Unable to do date check at this time)// 3 = dd/mm/yyyyvar vYearType = 4; //Set to 2 or 4 for number of digits in the year for Netscapevar vYearLength = 2; // Set to 4 if you want to force the user to enter 4 digits for the year before validating.var err = 0; // Set the error code to a default of zeroif(navigator.appName == "Netscape") {if (navigator.appVersion < "5") {isNav4 = true;isNav5 = false;}elseif (navigator.appVersion > "4") {isNav4 = false;isNav5 = true; }}else {isIE4 = true;}function DateFormat(vDateName, vDateValue, e, dateCheck, dateType) {vDateType = dateType;// vDateName = object name// vDateValue = value in the field being checked// e = event// dateCheck // True = Verify that the vDateValue is a valid date// False = Format values being entered into vDateValue only// vDateType// 1 = mm/dd/yyyy// 2 = yyyy/mm/dd// 3 = dd/mm/yyyy//Enter a tilde sign for the first number and you can check the variable information.if (vDateValue == "~") {alert("AppVersion = "+navigator.appVersion+" \nNav. 4 Version = "+isNav4+" \nNav. 5 Version = "+isNav5+" \nIE Version = "+isIE4+" \nYear Type = "+vYearType+" \nDate Type = "+vDateType+" \nSeparator = "+strSeperator);vDateName.value = "";vDateName.focus();return true;}var whichCode = (window.Event) ? e.which : e.keyCode;// Check to see if a seperator is already present.// bypass the date if a seperator is present and the length greater than 8if (vDateValue.length > 8 && isNav4) {if ((vDateValue.indexOf("-") >= 1) || (vDateValue.indexOf("/") >= 1))return true;}//Eliminate all the ASCII codes that are not valid var alphaCheck = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/@#$%¨&*()_+{}[]/^~?!°°:;.,|\'[]{}§º|\-";if (alphaCheck.indexOf(vDateValue) >= 1) {if (isNav4) {vDateName.value = "";vDateName.focus();vDateName.select();return false;}else {vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));return false; }}if (whichCode == 8) //Ignore the Netscape value for backspace. IE has no valuereturn false;else {//Create numeric string values for 0123456789///The codes provided include both keyboard and keypad valuesvar strCheck = '47,48,49,50,51,52,53,54,55,56,57,58,59,95,96,97,98,99,100,101,102,103,104,105';if (strCheck.indexOf(whichCode) != -1) {if (isNav4) {if (((vDateValue.length < 6 && dateCheck) || (vDateValue.length == 7 && dateCheck)) && (vDateValue.length >=1)) {alert("Data Inválida, Digite Novamente.");vDateName.value = "";vDateName.focus();vDateName.select();return false;}if (vDateValue.length == 6 && dateCheck) {var mDay = vDateName.value.substr(2,2);var mMonth = vDateName.value.substr(0,2);var mYear = vDateName.value.substr(4,4)//Turn a two digit year into a 4 digit yearif (mYear.length == 2 && vYearType == 4) {var mToday = new Date();//If the year is greater than 30 years from now use 19, otherwise use 20var checkYear = mToday.getFullYear() + 30; var mCheckYear = '20' + mYear;if (mCheckYear >= checkYear)mYear = '19' + mYear;elsemYear = '20' + mYear;}var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;if (!dateValid(vDateValueCheck)) {alert("Data Inválida, Digite Novamente.");vDateName.value = "";vDateName.focus();vDateName.select();return false;}return true;}else {// Reformat the date for validation and set date type to a 1if (vDateValue.length >= 8 && dateCheck) {if (vDateType == 1) // mmddyyyy{var mDay = vDateName.value.substr(2,2);var mMonth = vDateName.value.substr(0,2);var mYear = vDateName.value.substr(4,4)vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear;}if (vDateType == 2) // yyyymmdd{var mYear = vDateName.value.substr(0,4)var mMonth = vDateName.value.substr(4,2);var mDay = vDateName.value.substr(6,2);vDateName.value = mYear+strSeperator+mMonth+strSeperator+mDay;}if (vDateType == 3) // ddmmyyyy{var mMonth = vDateName.value.substr(2,2);var mDay = vDateName.value.substr(0,2);var mYear = vDateName.value.substr(4,4)vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear;}//Create a temporary variable for storing the DateType and change//the DateType to a 1 for validation.var vDateTypeTemp = vDateType;vDateType = 1;var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;if (!dateValid(vDateValueCheck)) {alert("Data Inválida, Digite Novamente.");vDateType = vDateTypeTemp;vDateName.value = "";vDateName.focus();vDateName.select();return false;}vDateType = vDateTypeTemp;return true;}else {if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1)) {alert("Data Inválida, Digite Novamente.");vDateName.value = "";vDateName.focus();vDateName.select();return false; } } }}else {// Non isNav Checkif (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1)) {alert("Data Inválida, Digite Novamente.");vDateName.value = "";vDateName.focus();return true;}// Reformat date to format that can be validated. mm/dd/yyyyif (vDateValue.length >= 8 && dateCheck) {// Additional date formats can be entered here and parsed out to// a valid date format that the validation routine will recognize.if (vDateType == 1) // mm/dd/yyyy{var mMonth = vDateName.value.substr(0,2);var mDay = vDateName.value.substr(3,2);var mYear = vDateName.value.substr(6,4)}if (vDateType == 2) // yyyy/mm/dd{var mYear = vDateName.value.substr(0,4)var mMonth = vDateName.value.substr(5,2);var mDay = vDateName.value.substr(8,2);}if (vDateType == 3) // dd/mm/yyyy{var mDay = vDateName.value.substr(0,2);var mMonth = vDateName.value.substr(3,2);var mYear = vDateName.value.substr(6,4)}if (vYearLength == 4) {if (mYear.length < 4) {alert("Data Inválida, Digite Novamente.");vDateName.value = "";vDateName.focus();return true; }}// Create temp. variable for storing the current vDateTypevar vDateTypeTemp = vDateType;// Change vDateType to a 1 for standard date format for validation// Type will be changed back when validation is completed.vDateType = 1;// Store reformatted date to new variable for validation.var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;if (mYear.length == 2 && vYearType == 4 && dateCheck) {//Turn a two digit year into a 4 digit yearvar mToday = new Date();//If the year is greater than 30 years from now use 19, otherwise use 20var checkYear = mToday.getFullYear() + 30; var mCheckYear = '20' + mYear;if (mCheckYear >= checkYear)mYear = '19' + mYear;elsemYear = '20' + mYear;vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;// Store the new value back to the field. This function will// not work with date type of 2 since the year is entered first.if (vDateTypeTemp == 1) // mm/dd/yyyyvDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear;if (vDateTypeTemp == 3) // dd/mm/yyyyvDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear;} if (!dateValid(vDateValueCheck)) {alert("Data Inválida, Digite Novamente.");vDateType = vDateTypeTemp;vDateName.value = "";vDateName.focus();return true;}vDateType = vDateTypeTemp;return true;}else {if (vDateType == 1) {if (vDateValue.length == 2) {vDateName.value = vDateValue+strSeperator;}if (vDateValue.length == 5) {vDateName.value = vDateValue+strSeperator; }}if (vDateType == 2) {if (vDateValue.length == 4) {vDateName.value = vDateValue+strSeperator;}if (vDateValue.length == 7) {vDateName.value = vDateValue+strSeperator; }} if (vDateType == 3) {if (vDateValue.length == 2) {vDateName.value = vDateValue+strSeperator;}if (vDateValue.length == 5) {vDateName.value = vDateValue+strSeperator; }}return true; }}if (vDateValue.length == 10&& dateCheck) {if (!dateValid(vDateName)) {// Un-comment the next line of code for debugging the dateValid() function error messages//alert(err); alert("Data Inválida, Digite Novamente.");vDateName.focus();vDateName.select(); }}return false;}else {// If the value is not in the string return the string minus the last// key entered.if (isNav4) {vDateName.value = "";vDateName.focus();vDateName.select();return false;}else{vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));return false; } } }}function dateValid(objName) {var strDate;var strDateArray;var strDay;var strMonth;var strYear;var intday;var intMonth;var intYear;var booFound = false;var datefield = objName;var strSeparatorArray = new Array("-"," ","/",".");var intElementNr;// var err = 0;var strMonthArray = new Array(12);strMonthArray[0] = "Jan";strMonthArray[1] = "Feb";strMonthArray[2] = "Mar";strMonthArray[3] = "Apr";strMonthArray[4] = "May";strMonthArray[5] = "Jun";strMonthArray[6] = "Jul";strMonthArray[7] = "Aug";strMonthArray[8] = "Sep";strMonthArray[9] = "Oct";strMonthArray[10] = "Nov";strMonthArray[11] = "Dec";//strDate = datefield.value;strDate = objName;if (strDate.length < 1) {return true;}for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {strDateArray = strDate.split(strSeparatorArray[intElementNr]);if (strDateArray.length != 3) {err = 1;return false;}else {strDay = strDateArray[0];strMonth = strDateArray[1];strYear = strDateArray[2];}booFound = true; }}if (booFound == false) {if (strDate.length>5) {strDay = strDate.substr(0, 2);strMonth = strDate.substr(2, 2);strYear = strDate.substr(4); }}//Adjustment for short years enteredif (strYear.length == 2) {strYear = '20' + strYear;}strTemp = strDay;strDay = strMonth;strMonth = strTemp;intday = parseInt(strDay, 10);if (isNaN(intday)) {err = 2;return false;}intMonth = parseInt(strMonth, 10);if (isNaN(intMonth)) {for (i = 0;i<12;i++) {if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {intMonth = i+1;strMonth = strMonthArray[i];i = 12; }}if (isNaN(intMonth)) {err = 3;return false; }}intYear = parseInt(strYear, 10);if (isNaN(intYear)) {err = 4;return false;}if (intMonth>12 || intMonth<1) {err = 5;return false;}if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {err = 6;return false;}if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {err = 7;return false;}if (intMonth == 2) {if (intday < 1) {err = 8;return false;}if (LeapYear(intYear) == true) {if (intday > 29) {err = 9;return false; }}else {if (intday > 28) {err = 10;return false; } }}return true;}function LeapYear(intYear) {if (intYear % 100 == 0) {if (intYear % 400 == 0) { return true; }}else {if ((intYear % 4) == 0) { return true; }}return false;}*/// validação do tipo de avaliação.....botao radio....// DIVFORM1 => turma// DIVFORM => departamentofunction hideForm() { document.getElementById('departamento').style.display = 'none'; document.getElementById('turma').style.display = 'block';}function showForm() { document.getElementById('departamento').style.display = 'block'; document.getElementById('turma').style.display = 'none';}// End --></script><style type="text/css"><!--.style3 {color: #0000FF}--></style></head><body><table width="760" height="422" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF"> <tr> <td colspan="2" width="100%" height="92"><img src="imagens/logo_admin.jpg" border="0" width="760" height="92"></td> </tr> <tr> <td height="48"></td> <td width="621" align="right"><div align="right">Nome do usuário <a href="logout.php"><strong>(Sair)</strong></a></div></td> </tr> <tr> <td width="169" valign="top"> <table width="140" border="0" cellpadding="3" cellspacing="4" class="menu"> <tr> <td width="163" class="titulo-tab" valign="top"> <div align="left">Avaliação</div></td> </tr> <tr> <td bgcolor="#CCCCCC"><div align="left"><a href="avaliacao.html">Avaliação</a></div></td> </tr> <tr> <td bgcolor="#CCCCCC"></td> </tr> <tr> <td bgcolor="#CCCCCC"><div align="left"><img src="imagens_2/back.gif" width="12" height="13"><a href="logado.html"> Pagina Inicial</a></div></td> </tr> </table> </td> <td valign="top" bgcolor="#FFFFFF"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td width="35" class="canto-sup-esq"></td> <td width="196" class="titulo-tab" valign="top">Cadastrar</td> <td colspan="2" class="linha-sup"></td> <td width="35" class="canto-sup-dir"></td> </tr> <tr> <td class="linha-esq"></td> <td colspan="3" class="forms"><blockquote> <blockquote> <p align="center" class="style3">Questionário <?php if ($loop == 0 ) {echo $loop+=1;} else {echo $loop = $_REQUEST['loop'] + 1;} ?> de <?php echo $qtd; ?> </p> </blockquote> </blockquote></td> <td class="linha-dir"></td> </tr> <tr> <td class="linha-esq"></td> <td class="forms"> </td> <td colspan="2"> </td> <td class="linha-dir"></td> </tr> <tr> <td class="linha-esq"></td> <td class="forms">Esta avaliação será para: </td> <td width="112"><input type="radio" name="opcao" value="1" onClick="hideForm();" checked> Turma </td> <td width="219"><input type="radio" name="opcao" value="2" onClick="showForm();"> Departamento</td> <td class="linha-dir"></td> </tr> <tr> <td class="linha-esq"></td> <td class="forms"> </td> <td colspan="2"> </td> <td class="linha-dir"></td> </tr> <!-- área da turma..... !--> <div id="turma" style="display: block"> <form action="ava_cadastrar1.php" method="post" name="turma" onsubmit="return checa(this)"> <tr> <td class="linha-esq"></td> <td class="forms">Escolha a Turma </td> <td colspan="2"> <?php //echo "ak entra o drop para que o usuário possa saber o que já tem cadastrado"; include '../inc/conexao.inc'; $resultado = mysql_query ("SELECT `nome_turma` , `id_turma` FROM `turma` WHERE `ativo`=1 ORDER BY `nome_turma` ASC") or die("Erro de SQL_consulta Turma => ".$_SERVER['PHP_SELF'] ); echo "<select name=\"name_turma\" size=\"1\">"; if (mysql_num_rows($resultado) > 0) { echo"\n<option value=\"0\">Selecione um Curso</option>"; while ($linha = mysql_fetch_assoc($resultado)) { $id_cur = $linha["id_turma"]; $no_cur = $linha["nome_turma"]; $ativo = $linha["ativo"]; echo"\n<option value=\"".$id_cur."#".$no_cur."\">".$no_cur."</option>"; } } else { echo"\n<option>Sem Registro --></option>"; echo"\n</select>"; } echo"\n</select>"; ?> </td> <td class="linha-dir"></td> <!--FIM....área da turma..... </form>!--> </div> </tr> <tr><!-- área da DEPARTAMENTO..... !--> <div id="departamento" style="display: none"> <form action="ava_cadastrar1.php" method="post" name="turma" onsubmit="return checa(this)"> <td class="linha-esq"></td> <td class="forms">Escolha um Departamento</td> <td colspan="2"> <?php //echo "ak entra o drop para que o usuário possa saber o que já tem cadastrado"; include '../inc/conexao.inc'; $resultado = mysql_query ("SELECT * FROM `departamento` WHERE `ativo`=1 ORDER BY `nome_departamento` ASC") or die("Erro de SQL_consulta Turma => ".$_SERVER['PHP_SELF'] ); echo "<select name=\"departamento\" size=\"1\">"; if (mysql_num_rows($resultado) > 0) { echo"\n<option value=\"0\">Selecione um Departamento</option>"; while ($linha = mysql_fetch_assoc($resultado)) { $id_cur = $linha["id_departamento"]; $no_cur = $linha["nome_departamento"]; $ativo = $linha["ativo"]; echo"\n<option value=\"".$id_cur."#".$no_cur."\">".$no_cur."</option>"; } } else { echo"\n<option>Sem Registro --></option>"; echo"\n</select>"; } echo"\n</select>"; ?> </td> <td class="linha-dir"></td><!--FIM....área da turma... !--> </div> </tr> <tr> <td class="linha-esq"></td> <td class="forms"> </td> <td colspan="2"> </td> <td class="linha-dir"></td> </tr> <tr> <td class="linha-esq"></td> <td class="forms">Nome da Avaliação: </td> <td colspan="2"><input name="nome" type="text" id="nome" size="31" maxlength="30"></td> <td class="linha-dir"></td> </tr> <tr> <td class="linha-esq"></td> <td class="forms"> </td> <td colspan="2"> </td> <td class="linha-dir"></td> </tr> <tr> <td class="linha-esq"></td> <td class="forms">Descrição da Avaliação:</td> <td colspan="2"><input name="descricao" type="text" id="descricao" size="50" maxlength="100"></td> <td class="linha-dir"></td> </tr> <tr> <td class="linha-esq"></td> <td> </td> <td colspan="2"> </td> <td class="linha-dir"></td> </tr> <tr> <td class="linha-esq"></td> <td class="forms">Data da Avaliação:</td> <td colspan="2"><input type="text" name="testDateFormat5" size='10' maxlength="10" onFocus="javascript:vDateType='3'" onKeyUp="DateFormat(this,this.value,event,false,'3')" onBlur="DateFormat(this,this.value,event,true,'3')"> (dd/mm/aaaa) </td> <td class="linha-dir"></td> </tr> <tr> <td class="linha-esq"></td> <td> </td> <td colspan="2"> </td> <td class="linha-dir"></td> </tr> <tr> <td height="26" class="linha-esq"></td> <td class="forms">Quantidade de Questionários:</td> <td colspan="2" class="forms"><input name="quantidade" type="text" id="quantidade" size="3" maxlength="3"> quantos departamentos serão avaliados.</td> <td class="linha-dir"></td> </tr> <tr> <td class="linha-esq"></td> <td class="forms"><div align="right"></div></td> <td colspan="2"> </td> <td class="linha-dir"></td> </tr> <tr> <td class="linha-esq"></td> <td> <div align="right"> <input class="botao" type="reset" name="Reset" value="Limpar"> </div></td><td colspan="2"> <p align="center"><input class="botao" type="submit" name="Submit" value="Salvar Cadastro"> </p> </td> <td class="linha-dir"></td> </tr> <tr> <td class="canto-inf-esq"></td> <td class="linha-inf"></td> <td colspan="2" class="linha-inf"> </td> <td class="canto-inf-dir"></td> </tr></form> </table> </td> </tr></table></body></html>==============================================================================código de um amigo, que funciona.PAGINA_TESTE.php==============================================================================<script>function hideForm() { document.getElementById('departamento').style.display = 'none'; document.getElementById('turma').style.display = 'block';}function showForm() { document.getElementById('departamento').style.display = 'block'; document.getElementById('turma').style.display = 'none';}</script><input type="radio" name="opcao" value="1" onClick="hideForm();" checked> Some __Quest1<br><input type="radio" name="opcao" value="2" onClick="showForm();"> Departamento<div id="turma" style="display: block"><form action="ava_cadastrar1.php" method="post" name="turma" onsubmit="return checa(this)"> <tr> <td class="linha-esq"></td> <td class="forms">Escolha a Turma </td> <td colspan="2"> <?php //echo "ak entra o drop para que o usuário possa saber o que já tem cadastrado"; include '../inc/conexao.inc'; $resultado = mysql_query ("SELECT `nome_turma` , `id_turma` FROM `turma` WHERE `ativo`=1 ORDER BY `nome_turma` ASC") or die("Erro de SQL_consulta Turma => ".$_SERVER['PHP_SELF'] ); echo "<select name=\"name_turma\" size=\"1\">"; if (mysql_num_rows($resultado) > 0) { echo"\n<option value=\"0\">Selecione um Curso</option>"; while ($linha = mysql_fetch_assoc($resultado)) { $id_cur = $linha["id_turma"]; $no_cur = $linha["nome_turma"]; $ativo = $linha["ativo"]; echo"\n<option value=\"".$id_cur."#".$no_cur."\">".$no_cur."</option>"; } } else { echo"\n<option>Sem Registro --></option>"; echo"\n</select>"; } echo"\n</select>"; ?> </td></form></div><div id="departamento" style="display: none"><form action="ava_cadastrar1.php" method="post" name="turma" onsubmit="return checa(this)"> <tr> <td class="linha-esq"></td> <td class="forms">Escolha um Departamento</td> <td colspan="2"> <?php //echo "ak entra o drop para que o usuário possa saber o que já tem cadastrado"; include '../inc/conexao.inc'; $resultado = mysql_query ("SELECT * FROM `departamento` WHERE `ativo`=1 ORDER BY `nome_departamento` ASC") or die("Erro de SQL_consulta Turma => ".$_SERVER['PHP_SELF'] ); echo "<select name=\"departamento\" size=\"1\">"; if (mysql_num_rows($resultado) > 0) { echo"\n<option value=\"0\">Selecione um Departamento</option>"; while ($linha = mysql_fetch_assoc($resultado)) { $id_cur = $linha["id_departamento"]; $no_cur = $linha["nome_departamento"]; $ativo = $linha["ativo"]; echo"\n<option value=\"".$id_cur."#".$no_cur."\">".$no_cur."</option>"; } } else { echo"\n<option>Sem Registro --></option>"; echo"\n</select>"; } echo"\n</select>"; ?> </td></form></div>==============================================================================Discussão (1)
Carregando comentários...