Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ronaldo Bueno

onChange não funciona

Recommended Posts

Precisa somente de 2 paginas: a HTML e a procura.asp

 

 

############ HTML ###################

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script>
var AJAXForms = false;
var isIE = false;
// on !IE we only have to initialize it once
if (window.XMLHttpRequest) {
	AJAXForms = new XMLHttpRequest();
}

function CheckField(field) {
alert(field.value)

	if (window.XMLHttpRequest) {
	// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		AJAXForms = new ActiveXObject("Microsoft.XMLHTTP");
	}

  AJAXForms.onreadystatechange = processChange;
  AJAXForms.open("GET", "procura.asp?nome=" +field.value);
  
  AJAXForms.send(null);
}

function processChange() {
  if (AJAXForms.readyState == 4) { 
  
	var  tel= document.getElementById("telefone");
	tel.innerHTML = AJAXForms.responseText;
	
  }
}

</script>
</head>

<body>
<form name="form1">
<select name="teste" OnChange="CheckField(this)">
<option>Seleccione uma bebida</option>
<option>Cerveja</option>
<option>Vinho</option>
<option>Agua</option>
</select>
</form>
<div id="telefone" ></div>
</body>
</html>

Atencao onde esta cerveja vinho agua e so um exemplo nas options coloque os valores corretos, pk o script vai buscar o que esta na option

 

#############procura.asp################

 

so tem de fazer o seguinte:

 

buscar a variavel isso seria da seguinte forma

 

 

name=Request.QueryString("nome");

 

depois e so fazer a busca

........

 

Recordset1.Open "select nome,tel,cel from clientes ORDER BY nome where nome="&name (nao tenho a certeza se e assim)

.......

 

depois da busca e so fazer o seguinte

// rs e o recordset que você tem de criar

// depois os resulados escritos em baixo sao retornados na pagina que fez a requisicao

while not rs.eof

response.write("Telefone"&rs("tel")&"")

response.write("Celular"&rs("cel")&"")

rs.movenext

wend

 

 

 

// Espero que tenha entendido a melhor solucao e com ajax (js) nem precisa de dar refreshes e e mais rapido

Compartilhar este post


Link para o post
Compartilhar em outros sites

webmind, obrigado por responder...

 

poderia se não fosse pedir muito explicar melhor, pois nunca trabalhei com ajax e não entendi bulufas rsrsrs

 

mais uma vez obrigado.

 

mas deixo aqui o html como esta agora ...

 

<html>

<head>

<title></title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<style>

body {font-family: arial}

h1 {color: #a0a0a0; font-size: 18px}

td {font-size: 10px}

</style>

<script language="JavaScript">

function txtBoxFormat(objForm, StrField, sMask, evtKeyPress) {

var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

 

if(document.all) { // Internet Explorer

nTecla = evtKeyPress.keyCode; }

else if(document.layers) { // Nestcape

nTecla = evtKeyPress.which;

}

 

sValue = objForm[strField].value;

 

// Limpa todos os caracteres de formatação que

// já estiverem no campo.

sValue = sValue.toString().replace( "-", "" );

sValue = sValue.toString().replace( "-", "" );

sValue = sValue.toString().replace( ".", "" );

sValue = sValue.toString().replace( ".", "" );

sValue = sValue.toString().replace( ".", "" );

sValue = sValue.toString().replace( ".", "" );

sValue = sValue.toString().replace( "/", "" );

sValue = sValue.toString().replace( "/", "" );

sValue = sValue.toString().replace( "(", "" );

sValue = sValue.toString().replace( "(", "" );

sValue = sValue.toString().replace( ")", "" );

sValue = sValue.toString().replace( ")", "" );

sValue = sValue.toString().replace( ":", "" );

sValue = sValue.toString().replace( ":", "" );

sValue = sValue.toString().replace( " ", "" );

sValue = sValue.toString().replace( " ", "" );

fldLen = sValue.length;

mskLen = sMask.length;

 

i = 0;

nCount = 0;

sCod = "";

mskLen = fldLen;

 

while (i <= mskLen) {

bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))

bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == ":") || (sMask.charAt(i) == " "))

 

if (bolMask) {

sCod += sMask.charAt(i);

mskLen++; }

else {

sCod += sValue.charAt(nCount);

nCount++;

}

 

i++;

}

 

objForm[strField].value = sCod;

 

if (nTecla != 8) { // backspace

if (sMask.charAt(i-1) == "9") { // apenas números...

return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9

else { // qualquer caracter...

return true;

} }

else {

return true;

}

}

//Fim da Função Máscaras Gerais

</script>

<script language="JavaScript">

//verificar se o formulario foi preenchido corretamente

function CheckForm () {

 

//Inicia as Variaveis

var errorMsg = "";

 

//Checa o Nome

 

if (document.form1.paciente.selectedIndex==0){

errorMsg += "\n\tPaciente\t - Escolha o Paciente";

}

 

if (document.form1.tipoconsulta.selectedIndex==0){

errorMsg += "\n\tConsulta\t - Escolha o tipo de consulta";

}

 

if (document.form1.medicos.selectedIndex==0){

errorMsg += "\n\tMédicos\t - Escolha o Médico";

}

 

if (document.form1.convenios.selectedIndex==0){

errorMsg += "\n\tConvênios\t- Escolha o Convênio";

}

 

if (document.form1.dataconsulta.value == ""){

errorMsg += "\n\tData\t - Digite a data";

}

 

if (document.form1.horaconsulta.value == ""){

errorMsg += "\n\tHora\t - Digite a Hora";

}

 

if (document.form1.indicacao.value == ""){

errorMsg += "\n\tIndicação\t - Digite quem indicou";

}

 

if (document.form1.sintomas.value == ""){

errorMsg += "\n\tSintomas\t - Digite o(s) sintoma(s)";

}

 

//Se houver algum problema com o formulário ele indica

if (errorMsg != ""){

msg = "______________________________________________________________\n\n";

msg += "O registro não pode ser gravador porque há um erro com o formulário.\n";

msg += "Corrija o problema e clique em ENVIAR\n";

msg += "______________________________________________________________\n\n";

msg += "O(s) seguinte(s) campo(s) tem que ser(em) corrigido(s): -\n";

 

errorMsg += alert(msg + errorMsg + "\n\n");

return false;

}

 

return true;

}

</script>

</head>

<body bgcolor="#FFFFFF" text="#000000">

<form method="post" action="<%=MM_editAction%>" name="form1" onSubmit="return CheckForm();">

<table align="center" width="674">

<tr valign="baseline">

<td nowrap align="right" colspan="4"><div align="center"><b>CADASTRO DE CONSULTÓRIO </b></div></td>

</tr>

<tr valign="baseline">

<td nowrap align="right" colspan="4"><div align="center"><b>Todos os campos são obrigatórios</b></div></td>

</tr>

<tr valign="baseline">

<td width="61" nowrap><div align="right"><b>Paciente:</b></div></td>

<td width="248" valign="baseline">

<%

'Abre a conexão com o banco de dados

Set Conexao = Server.CreateObject("ADODB.Connection")

'dbPath = "DBQ=" & Server.Mappath("dados/cadastro.mdb")

Conexao.Open "Driver={MySQL ODBC 3.51 Driver};SERVER=localhost;uid=aaaaa;pwd=aaaaa;database=aaaaa"

Set Recordset1 = Server.CreateObject("ADODB.RecordSet")

Recordset1.Open "select nome,plano,tipo,numerocarteira,mesvalidade,anovalidade from pacientes ORDER BY nome" , Conexao, 1, 3

%>

<select name="paciente" id="paciente" onChange="document.form1.plano.value=this.options[this.options.selectedIndex].value;d

ocument.form1.tipo.value=this.options[this.options.selectedIndex].value;document.

form1.numerocarteira.value=this.options[this.options.selectedIndex].value;documen

t.form1.mesvalidade.value=this.options[this.options.selectedIndex].value;document

.form1.anovalidade.value=this.options[this.options.selectedIndex].value">

<% ' Loop para preencher os nomes

do while not Recordset1.eof

%>

<option value="<%=Recordset1(0)%>"> <%=Recordset1(0)%> </option>

<% Recordset1.movenext

loop

%>

</select></td>

<td width="97"><div align="right">Tipo da Consulta </div></td>

<td width="248"><select name="tipoconsulta" id="tipoconsulta">

<option>1ª Consulta</option>

<option>Retorno</option>

</select></td>

</tr>

<tr>

<td align="right" nowrap><div align="right"><b>Plano:</b></div></td>

<td><input name="plano" id="plano" type="text" value="plano" size="15" maxlength="50" disabled="disabled">

<input name="tipo" id="tipo" type="text" value="tipo" size="15" maxlength="50" disabled="disabled">

<td><div align="right"><b>Nº da Carteira:</b></div></td>

<td><input name="numerocarteira" id="numerocarteira" type="text" value="Nº da Carteira" size="15" maxlength="50" disabled="disabled">

<input name="mesvalidade" id="mesvalidade" type="text" value="Mês Validade" size="10" maxlength="50" disabled="disabled">

<input name="anovalidade" id="anovalidade" type="text" value="Ano Validade" size="10" maxlength="50" disabled="disabled"></td>

</tr>

<tr>

<td nowrap align="right"><b>Data da<br>

Consulta:</b></td>

<td><input name="dataconsulta" type="text" id="dataconsulta" onKeyPress="return txtBoxFormat(document.form1, 'dataconsulta', '99/99/9999', event);" value="<%=date%>" size="15" maxlength="10"></td>

<td><div align="right"><b>Hora da<br>

Consulta:</b></div></td>

<td><input name="horaconsulta" type="text" id="horaconsulta" onKeyPress="return txtBoxFormat(document.form1, 'horaconsulta', '99:99', event);" value="" size="15" maxlength="5"></td>

</tr>

<tr valign="baseline">

<td nowrap align="right"><b>Médico(a):</b> </td>

<td><%

'Abre a conexão com o banco de dados

Set Conexao = Server.CreateObject("ADODB.Connection")

'dbPath = "DBQ=" & Server.Mappath("dados/cadastro.mdb")

Conexao.Open "Driver={MySQL ODBC 3.51 Driver};SERVER=localhost;uid=aaaaa;pwd=aaaaa;database=aaaaa"

Set Recordset1 = Server.CreateObject("ADODB.RecordSet")

Recordset1.Open "select nome from medicos ORDER BY nome" , Conexao, 1, 3

%>

<select name="medicos" id="medicos">

<% ' Loop para preencher os nomes

do while not Recordset1.eof

%>

<option> <%=Recordset1(0)%> </option>

<% Recordset1.movenext

loop

%>

</select>

</label></td>

<td><div align="right"><b>Convênio:</b></div></td>

<td><%

'Abre a conexão com o banco de dados

Set Conexao = Server.CreateObject("ADODB.Connection")

'dbPath = "DBQ=" & Server.Mappath("dados/cadastro.mdb")

Conexao.Open "Driver={MySQL ODBC 3.51 Driver};SERVER=localhost;uid=aaaaa;pwd=aaaaa;database=aaaaa"

Set Recordset1 = Server.CreateObject("ADODB.RecordSet")

Recordset1.Open "select nome from convenios ORDER BY nome" , Conexao, 1, 3

%>

<select name="convenios" id="convenios">

<% ' Loop para preencher os nomes

do while not Recordset1.eof

%>

<option> <%=Recordset1(0)%> </option>

<% Recordset1.movenext

loop

%>

</select></td>

</tr>

 

<tr valign="baseline">

<td nowrap align="right"><b>

Indicação: </b></td>

<td>

<input name="indicacao" type="text" id="indicacao" value="" size="40" maxlength="50"></td>

<td><div align="right"><b>Sintomas:</b></div></td>

<td><input name="sintomas" type="text" id="sintomas" value="" size="40" maxlength="100"></td>

</tr>

 

<tr valign="baseline">

<td nowrap align="right"> </td>

<td colspan="3"><b>Observação:</b></td>

</tr>

<tr valign="baseline">

<td nowrap align="right"> </td>

<td colspan="3"><label>

<textarea name="prontuario" cols="80" rows="4" id="prontuario"></textarea>

</label></td>

</tr>

 

 

<tr valign="baseline">

<td nowrap align="right">

<div align="center"></div> </td>

<td nowrap align="right"><div align="left">

<input name="image" type=image src="../imagens/salvar.png" width="48" height="48">

</div></td>

<td nowrap align="right"> </td>

<td align="right" nowrap> </td>

</tr>

</table>

<input type="hidden" name="MM_insert" value="true">

</form>

</body>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem aqui o que importa mais e que funcione e saiba o que fazer na pagina asp, quanto ao ajax vou tentar explicar

 

<script>
var AJAXForms = false;
var isIE = false;
// on !IE we only have to initialize it once
if (window.XMLHttpRequest) {
	AJAXForms = new XMLHttpRequest();
}

function CheckField(field) {
alert(field.value)

	if (window.XMLHttpRequest) {
	// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		AJAXForms = new ActiveXObject("Microsoft.XMLHTTP");
	}
// As linhas acima e para criar o objecto XMLHttpRequest do ajax, e isso tem de ser feito pk o IE e FF sao difrentes //nessa criacao


  AJAXForms.onreadystatechange = processChange; //aqui chama a funcao processChange

  AJAXForms.open("GET", "procura.asp?nome=" +field.value); // aqui Get(pega) o reultado na procura.asp que leva //consigo o parametro [b]nome=valor do select[/b]
  
  AJAXForms.send(null);
}

function processChange() {
  if (AJAXForms.readyState == 4) { // readystate==4 quer dizer que esta carregado
  
	var  tel= document.getElementById("telefone"); // vai buscar o objecto com o id telefone
	tel.innerHTML = AJAXForms.responseText; // vai escrever nesse object o resultado da pagina asp que no caso seria
//o que esta em response.write	
  }
}

</script>

 

Eu testei isto em php e funcionou agora e so adaptar para asp e na pagina em asp so tem de ir buscar o nome a base dados, o nome que e pagado pela variavel name e o que servira na busca e ficara algo como ... where nome="&name

Compartilhar este post


Link para o post
Compartilhar em outros sites

Webmind, tentei fazer o que disse, mas não consegui porque essa página que eu quero fazer isso, já é um cadastro, eu não entendi como iria criar outra como procura.asp se eu não posso sair dessa página enquanto não preencher todos os campos e depois clicar salvar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Webmind, tentei fazer o que disse, mas não consegui porque essa página que eu quero fazer isso, já é um cadastro, eu não entendi como iria criar outra como procura.asp se eu não posso sair dessa página enquanto não preencher todos os campos e depois clicar salvar.

ok você nessa pagina faz o cadastro certo, mas você com esse ajax nao vai sair da pagina essa funcao so vai recolher a informacao da pagina procura.asp(onde la esta a consulta ao banco dados (select e nao insert)), entendeu?

 

depois isso nao interfere com a pagina de validacao do cadastro. se nao entender fale ao no messenger que eu vou ver se consigo ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora esta aparecendo o seguinte, toda vez q escolho um nome aparece um aviso (caixa de aviso com ok, acho q deve ser por causa do response.write) com o nome que escolhi, mas as caixas de texto continuam em branco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois quanto a isso e mesmo por causa do response.write eu tb ainda nao sei mto de ajax mas na pagina da consulta onde estao os response.writes escreva response.write("<input type='text' value='&rs("tel")&'>") // isto escreve uma input com o valor obtido na consulta para o telefone

Compartilhar este post


Link para o post
Compartilhar em outros sites

rsrsrsrsrsr, ta dificil hein! Fala ae no messenger ainda nao apareceu teu contato para adicionar!

 

Isto nao esta a correr mesmo mto bem talvez o erro esteja num pequeno detalhe mas so vendo o codigo todo e que consigo ter uma ideia do erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Solucao, tentar resolver o problema desde o 0 acho que estes codigos ainda fizeram mais problema rsrsrs

 

poste todo o seu codigo actual html+asp

 

que eu vou tentar resolver isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou separar por blocos para facilitar ok ?

Lembrando que desse jeito, ele esta mostrando o nome que eu seleciono do paciente em todas as text (plano,tipo,numerocarteira,mesvalidade,anovalidade)

 

Obs. tenho outras páginas iguais, só que mudam são os campos.

 

--USUÁRIO

<%

If session("nivel_acesso") = "" Then

Response.Redirect "../index.html"

Response.End

End If

If session("nivel_acesso") = 4 or session("nivel_acesso") = 1 Then

%>

--FIM USUÁRIO

 

 

--CADASTRO E VARIAVEIS USADAS

<!--#include file="Connections/cadastro.asp" -->

<%

%>

<%

MM_editAction = CStr(Request("URL"))

If (Request.QueryString <> "") Then

MM_editAction = MM_editAction & "?" & Request.QueryString

End If

 

MM_abortEdit = false

 

MM_editQuery = ""

%>

<%

 

If (CStr(Request("MM_insert")) <> "") Then

 

MM_editConnection = MM_cadastro_STRING

MM_editTable = "consultorio"

MM_editRedirectUrl = "listar_todos.asp"

MM_fieldsStr = "paciente|value|tipoconsulta|value|dataconsulta|value|horaconsulta|value|med

icos|value|convenios|value|indicacao|value|sintomas|value|prontuario|value"

MM_columnsStr = "paciente|',none,''|tipoconsulta|',none,''|dataconsulta|',none,''|horaconsulta|',none,''|medicos|',none,''|convenios|',none,''|indicacao|',none,''|sintomas|',none,''|prontuario|',none,''"

 

 

MM_fields = Split(MM_fieldsStr, "|")

MM_columns = Split(MM_columnsStr, "|")

 

 

For i = LBound(MM_fields) To UBound(MM_fields) Step 2

MM_fields(i+1) = CStr(Request.Form(MM_fields(i)))

Next

 

 

If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then

If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then

MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString

Else

MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString

End If

End If

 

End If

%>

<%

 

If (CStr(Request("MM_insert")) <> "") Then

 

 

MM_tableValues = ""

MM_dbValues = ""

For i = LBound(MM_fields) To UBound(MM_fields) Step 2

FormVal = MM_fields(i+1)

MM_typeArray = Split(MM_columns(i+1),",")

Delim = MM_typeArray(0)

If (Delim = "none") Then Delim = ""

AltVal = MM_typeArray(1)

If (AltVal = "none") Then AltVal = ""

EmptyVal = MM_typeArray(2)

If (EmptyVal = "none") Then EmptyVal = ""

If (FormVal = "") Then

FormVal = EmptyVal

Else

If (AltVal <> "") Then

FormVal = AltVal

ElseIf (Delim = "'") Then ' escape quotes

FormVal = "'" & Replace(FormVal,"'","''") & "'"

Else

FormVal = Delim + FormVal + Delim

End If

End If

If (i <> LBound(MM_fields)) Then

MM_tableValues = MM_tableValues & ","

MM_dbValues = MM_dbValues & ","

End if

MM_tableValues = MM_tableValues & MM_columns(i)

MM_dbValues = MM_dbValues & FormVal

Next

MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

 

If (Not MM_abortEdit) Then

 

Set MM_editCmd = Server.CreateObject("ADODB.Command")

MM_editCmd.ActiveConnection = MM_editConnection

MM_editCmd.CommandText = MM_editQuery

MM_editCmd.Execute

MM_editCmd.ActiveConnection.Close

 

If (MM_editRedirectUrl <> "") Then

Response.Redirect(MM_editRedirectUrl)

End If

End If

 

End If

%>

--FIM CADASTRO E VARIAVEIS USADAS

 

--CONEXÃO

<%

set Recordset1 = Server.CreateObject("ADODB.Recordset")

Recordset1.ActiveConnection = MM_cadastro_STRING

Recordset1.Source = "SELECT * FROM consultorio"

Recordset1.CursorType = 0

Recordset1.CursorLocation = 2

Recordset1.LockType = 3

Recordset1.Open()

Recordset1_numRows = 0

%>

--FIM CONEXÃO

 

 

<html>

<head>

<title></title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<style>

body {font-family: arial}

h1 {color: #a0a0a0; font-size: 18px}

td {font-size: 10px}

</style>

 

 

--FORMATAÇÃO DE CAMPOS

<script language="JavaScript">

function txtBoxFormat(objForm, StrField, sMask, evtKeyPress) {

var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

 

if(document.all) { // Internet Explorer

nTecla = evtKeyPress.keyCode; }

else if(document.layers) { // Nestcape

nTecla = evtKeyPress.which;

}

 

sValue = objForm[strField].value;

 

// Limpa todos os caracteres de formatação que

// já estiverem no campo.

sValue = sValue.toString().replace( "-", "" );

sValue = sValue.toString().replace( "-", "" );

sValue = sValue.toString().replace( ".", "" );

sValue = sValue.toString().replace( ".", "" );

sValue = sValue.toString().replace( ".", "" );

sValue = sValue.toString().replace( ".", "" );

sValue = sValue.toString().replace( "/", "" );

sValue = sValue.toString().replace( "/", "" );

sValue = sValue.toString().replace( "(", "" );

sValue = sValue.toString().replace( "(", "" );

sValue = sValue.toString().replace( ")", "" );

sValue = sValue.toString().replace( ")", "" );

sValue = sValue.toString().replace( ":", "" );

sValue = sValue.toString().replace( ":", "" );

sValue = sValue.toString().replace( " ", "" );

sValue = sValue.toString().replace( " ", "" );

fldLen = sValue.length;

mskLen = sMask.length;

 

i = 0;

nCount = 0;

sCod = "";

mskLen = fldLen;

 

while (i <= mskLen) {

bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))

bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == ":") || (sMask.charAt(i) == " "))

 

if (bolMask) {

sCod += sMask.charAt(i);

mskLen++; }

else {

sCod += sValue.charAt(nCount);

nCount++;

}

 

i++;

}

 

objForm[strField].value = sCod;

 

if (nTecla != 8) { // backspace

if (sMask.charAt(i-1) == "9") { // apenas números...

return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9

else { // qualquer caracter...

return true;

} }

else {

return true;

}

}

</script>

--FIM FORMATAÇÃO DE CAMPOS

 

 

--CHECAR SE FORM DIGITADO E ESCOLHIDO

<script language="JavaScript">

function CheckForm () {

 

var errorMsg = "";

 

if (document.form1.paciente.selectedIndex==0){

errorMsg += "\n\tPaciente\t - Escolha o Paciente";

}

 

if (document.form1.tipoconsulta.selectedIndex==0){

errorMsg += "\n\tConsulta\t - Escolha o tipo de consulta";

}

 

if (document.form1.medicos.selectedIndex==0){

errorMsg += "\n\tMédicos\t - Escolha o Médico";

}

 

if (document.form1.convenios.selectedIndex==0){

errorMsg += "\n\tConvênios\t- Escolha o Convênio";

}

 

if (document.form1.dataconsulta.value == ""){

errorMsg += "\n\tData\t - Digite a data";

}

 

if (document.form1.horaconsulta.value == ""){

errorMsg += "\n\tHora\t - Digite a Hora";

}

 

if (document.form1.indicacao.value == ""){

errorMsg += "\n\tIndicação\t - Digite quem indicou";

}

 

if (document.form1.sintomas.value == ""){

errorMsg += "\n\tSintomas\t - Digite o(s) sintoma(s)";

}

 

if (errorMsg != ""){

msg = "______________________________________________________________\n\n";

msg += "O registro não pode ser gravador porque há um erro com o formulário.\n";

msg += "Corrija o problema e clique em ENVIAR\n";

msg += "______________________________________________________________\n\n";

msg += "O(s) seguinte(s) campo(s) tem que ser(em) corrigido(s): -\n";

 

errorMsg += alert(msg + errorMsg + "\n\n");

return false;

}

 

return true;

}

</script>

--FIM CHECAR SE FORM DIGITADO E ESCOLHIDO

 

</head>

<body bgcolor="#FFFFFF" text="#000000">

 

--FORMULARIO

<form method="post" action="<%=MM_editAction%>" name="form1" onSubmit="return CheckForm();">

<table align="center" width="674">

<tr valign="baseline">

<td nowrap align="right" colspan="4"><div align="center"><b>CADASTRO DE CONSULTÓRIO </b></div></td>

</tr>

<tr valign="baseline">

<td nowrap align="right" colspan="4"><div align="center"><b>Todos os campos são obrigatórios</b></div></td>

</tr>

<tr valign="baseline">

<td width="61" nowrap><div align="right"><b>Paciente:</b></div></td>

<td width="248" valign="baseline">

 

--ABRE A CONEXÃO PARA FAZER O PREECHIMENTO DO SELECT

 

<%

Set Conexao = Server.CreateObject("ADODB.Connection")

Conexao.Open "Driver={MySQL ODBC 3.51 Driver};SERVER=localhost;uid=aaaaa;pwd=aaaaa;database=aaaaa"

Set Recordset1 = Server.CreateObject("ADODB.RecordSet")

Recordset1.Open "select nome,plano,tipo,numerocarteira,mesvalidade,anovalidade from pacientes ORDER BY nome" , Conexao, 1, 3

%>

--FIM ABRE A CONEXÃO PARA FAZER O PREECHIMENTO DO SELECT

 

 

--SELECT PACIENTES

<select name="paciente" id="paciente" onChange="document.form1.plano.value=this.options[this.options.selectedIndex].value;d

ocument.form1.tipo.value=this.options[this.options.selectedIndex].value;document.

form1.numerocarteira.value=this.options[this.options.selectedIndex].value;documen

t.form1.mesvalidade.value=this.options[this.options.selectedIndex].value;document

.form1.anovalidade.value=this.options[this.options.selectedIndex].value">

<%

do while not Recordset1.eof

%>

<option value="<%=Recordset1(0)%>"> <%=Recordset1(0)%> </option>

<% Recordset1.movenext

loop

%>

</select></td>

--FIM SELECT PACIENTES

 

 

--OUTROS CAMPOS

 

<td width="97"><div align="right">Tipo da Consulta </div></td>

<td width="248"><select name="tipoconsulta" id="tipoconsulta">

<option>1ª Consulta</option>

<option>Retorno</option>

</select></td>

</tr>

<tr>

<td align="right" nowrap><div align="right"><b>Plano:</b></div></td>

<td><input name="plano" id="plano" type="text" value="plano" size="15" maxlength="50" disabled="disabled">

<input name="tipo" id="tipo" type="text" value="tipo" size="15" maxlength="50" disabled="disabled">

<td><div align="right"><b>Nº da Carteira:</b></div></td>

<td><input name="numerocarteira" id="numerocarteira" type="text" value="Nº da Carteira" size="15" maxlength="50" disabled="disabled">

<input name="mesvalidade" id="mesvalidade" type="text" value="Mês Validade" size="10" maxlength="50" disabled="disabled">

<input name="anovalidade" id="anovalidade" type="text" value="Ano Validade" size="10" maxlength="50" disabled="disabled"></td>

</tr>

<tr>

<td nowrap align="right"><b>Data da<br>

Consulta:</b></td>

<td><input name="dataconsulta" type="text" id="dataconsulta" onKeyPress="return txtBoxFormat(document.form1, 'dataconsulta', '99/99/9999', event);" value="<%=date%>" size="15" maxlength="10"></td>

<td><div align="right"><b>Hora da<br>

Consulta:</b></div></td>

<td><input name="horaconsulta" type="text" id="horaconsulta" onKeyPress="return txtBoxFormat(document.form1, 'horaconsulta', '99:99', event);" value="" size="15" maxlength="5"></td>

</tr>

--FIM OUTROS CAMPOS

 

 

--SELECT MÉDICOS

<tr valign="baseline">

<td nowrap align="right"><b>Médico(a):</b> </td>

<td><%

Set Conexao = Server.CreateObject("ADODB.Connection")

Conexao.Open "Driver={MySQL ODBC 3.51 Driver};SERVER=localhost;uid=aaaaa;pwd=aaaaa;database=aaaaa"

Set Recordset1 = Server.CreateObject("ADODB.RecordSet")

Recordset1.Open "select nome from medicos ORDER BY nome" , Conexao, 1, 3

%>

<select name="medicos" id="medicos">

<%

do while not Recordset1.eof

%>

<option> <%=Recordset1(0)%> </option>

<% Recordset1.movenext

loop

%>

</select>

</label></td>

--FIM SELECT MÉDICOS

 

 

--SELECT CONVENIOS

<td><div align="right"><b>Convênio:</b></div></td>

<td><%

Set Conexao = Server.CreateObject("ADODB.Connection")

Conexao.Open "Driver={MySQL ODBC 3.51 Driver};SERVER=localhost;uid=aaaaa;pwd=aaaaa;database=aaaaa"

Set Recordset1 = Server.CreateObject("ADODB.RecordSet")

Recordset1.Open "select nome from convenios ORDER BY nome" , Conexao, 1, 3

%>

<select name="convenios" id="convenios">

<%

do while not Recordset1.eof

%>

<option> <%=Recordset1(0)%> </option>

<% Recordset1.movenext

loop

%>

</select></td>

</tr>

--FIM SELECT CONVENIOS

 

--OUTROS CAMPOS

<tr valign="baseline">

<td nowrap align="right"><b>

Indicação: </b></td>

<td>

<input name="indicacao" type="text" id="indicacao" value="" size="40" maxlength="50"></td>

<td><div align="right"><b>Sintomas:</b></div></td>

<td><input name="sintomas" type="text" id="sintomas" value="" size="40" maxlength="100"></td>

</tr>

 

<tr valign="baseline">

<td nowrap align="right"> </td>

<td colspan="3"><b>Observação:</b></td>

</tr>

<tr valign="baseline">

<td nowrap align="right"> </td>

<td colspan="3"><label>

<textarea name="prontuario" cols="80" rows="4" id="prontuario"></textarea>

</label></td>

</tr>

--FIM OUTROS CAMPOS

 

--BOTÃO SALVAR

<tr valign="baseline">

<td nowrap align="right">

<div align="center"></div> </td>

<td nowrap align="right"><div align="left">

<input name="image" type=image src="../imagens/salvar.png" width="48" height="48">

</div></td>

<td nowrap align="right"> </td>

<td align="right" nowrap> </td>

</tr>

</table>

<input type="hidden" name="MM_insert" value="true">

--BOTÃO SALVAR

</form>

--FIM FORMULARIO

</body>

</html>

 

--ERRO DO LOGIN

<%

Recordset1.Close()

%>

<%

Else

Response.Redirect "../index.html"

Response.End

End If

%>

--FIM ERRO DO LOGIN

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque assim no select

onChange="document.form1.plano.value=this.value"

Compartilhar este post


Link para o post
Compartilhar em outros sites

testei no FF e funciona. Atencao a pagina principal e a teste.asp

 

 

Todos os direitos nao reservados. rsrsr

 

 

problema resolvido testa ae

 

http://www.4shared.com/file/90549730/b892a4e1/teste.html

 

você muda e aparecem as inputs com os valores

 

 

espero que seja isso

 

 

abraco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Webmind, obrigado por enquanto.

 

peguei o seu, e hospedei e funcionou perfeito (isso mesmo que eu quero), ai peguei e fui arrumar de acordo com minha página, fiz tudo certinho, aparece a lista dos pacientes, mas quando clico da esse erro ...

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

 

ODBC driver does not support the requested properties.

 

/sistema/consultorio/consulta.asp, line 15

 

e nessa linha 15 tem isso aqui ...

 

%> rsrsrs, por incrivel que pareca apenas o sinal de fechar o ASP.

 

Cara, mas valeu até aqui, é exatamente o que eu queria, mas já tentei de tudo com esse erro ... troquei de lugar um monte coisas e depois voltei ao normal, mas pela pouca experiencia, acho que é o jeito de abrir o banco, você abriu com drive do access e o meu banco é sql.

 

você fez assim:

 

<%

 

Set objConn = Server.CreateObject("ADODB.Connection")

objConn.Open "DBQ=" & Server.MapPath("consultorio.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","",""

'Selecciona os dados na tabela aberta

strQuery = "Select * from pacientes order by nome "

Set rs=Server.CreateObject("ADODB.Recordset")

rs.Open strQuery, objConn

%>

 

 

e minha conexão é assim :

 

<%

Set Conexao = Server.CreateObject("ADODB.Connection")

Conexao.Open "Driver={MySQL ODBC 3.51 Driver};SERVER=localhost;uid=aaaaa;pwd=aaaaa;database=aaaaa"

Set Recordset1 = Server.CreateObject("ADODB.RecordSet")

Recordset1.Open "select nome,plano,tipo,numerocarteira,mesvalidade,anovalidade from pacientes ORDER BY nome" , Conexao, 1, 3

%>

 

 

talvez seja isso, você fez uma variavel para o select (na pesquisa) e eu uso direto ... tem alguma luz no fim do túnel ? rsrsrsrsrrss

 

grande abraço, e mais uma vez muito obrigado até aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente assim nao sei se dá rsrsrs, eu nao uso sql para asp

 

Set Conexao = Server.CreateObject("ADODB.Connection")

Conexao.Open "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=aaaaa;User Id=aaaaa;Password=aaaaa"

 

 

initial catalog e o nome da base dados

user Id e o nome do utilizador

passowrd e a password

 

 

Se nao der verifique se os dados estao corretos

 

Tambem pode ser um comando mal escrito teste o codigo normalmente por exemplo crie uma pagina a parte so para testar e faca a consulta e veja se funciona ae podera detectar o erro mais facilmente, por exemplo

 

select..... where nome='nomequlaquerexistentenabd' para testar

 

qualquer duvida poste ae

Compartilhar este post


Link para o post
Compartilhar em outros sites

Webmind, não sei o que era, só sei que escrevi novamente as linhas de conexão e agora está do jeito que eu queria, talvez um espaço em branco ou um sinal que eu não estava vendo rsrsrsrsrssrs.

 

Quero agradecer muito pela atenção, e gostaria de dizer que se precisar, pode contar.

 

Só tem mais uma coisa, que vou tentar descobrir, mas se você souber já facilita e muito. Quando seleciono o paciente, ele mostra os dados, mas se por um acaso eu errar o paciente e for outro, ele não troca os valores, continua o que tinha mostrado da primeira vez.

 

Sabe o que pode ser ?

 

Abs,

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja se nao e o parametro que esta a ser mal passado

 

por exemplo faca o seguinte teste na pagina da consulta onde esta

 

oid=request.QueryString("id")

 

 

escreva por baixo

 

echo $oid

 

grave e teste a pagina principal, isso dira o id atual veja se o id ao troca fica sempre o mesmo ou se muda, se nao mudar o problema esta ae ele esta a mandar sempre o mesmo id e como consequencia vai buscar sempre o mesmo utilizador

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.