Jump to content


Photo

Redirecionamento Com Parâmetros - Javascript


  • Faça o login para participar
10 replies to this topic

#1 MarkMelo

MarkMelo

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 29/11/2009, 16:22

Olá pessoal, primeiro dia no forum! Muito bacana tudo.

Bom... To com um problema com o redirecionamento para uma outra página usando JavaScript com ASP .NET e C#.

O cenário é o seguinte:

Tenho uma página simples de compra de 3 tipos diferentes de bicicleta: campo, cidade, corrida.

Então são 3 textfields de quantidades, cada um para um tipo de bike.
E um botão "Comprar".

O botão tem o OnClientClick = "myFunction()".

E esse é o código da função JavaScript que vai validar as entradas:

<script language="javascript" type="text/javascript">
function myFunction()
{
if((document.form1.qtdcampo.value == "0") && (document.form1.qtdcidade.value == "0") && (document.form1.qtdcorrida.value == "0"))
{
window.alert("Não é possível realizar a compra de 0 bicicletas.");
}
else {
var qtdcampo = document.form1.qtdcampo.value;
var qtdcidade = document.form1.qtdcidade.value;
var qtdcorrida = document.form1.qtdcorrida.value;
var url = "/WebSite1/pedido.aspx";

document.location.href = url + "?qtdca=" +qtdcampo+"&qtdci="+qtdcidade+"&qtdco="+qtdcorrida;
}


}
</script>


Se o usuário apertar "Comprar" com todas quantidades "0", o alert é acionado e diz que não pode. Isso funciona normal.

Porém, quando uma entrada válida é usada nada acontece. O código de redirecionamento não funciona.

Coloquei na tag do formulário o onSubmit = "myFunction()"... Como os valores padrões dos textfields são todos ZERO, o alert ficava rodando constantemente.. Assim que eu fechava a janelinha, outra aparecia.. Ai eu mudei um dos valores pra 2 e a página foi redirecionada corretamente com os parâmetros todos certos..

Ou seja, o código de redirecionamento aparentemente está correto. Mas eu não sei o por que ele não é ativado pelo botão "Comprar".

Alguém pode dar uma ajuda?

OBS: Se alguém tiver uma alternativa melhor, por favor post também. Ainda estou começando com isso tudo hehe.

Muito obrigado,

MarkMelo

Edição feita por: MarkMelo, 29/11/2009, 16:24.


#2 Feko

Feko

    Normal

  • Usuários
  • 87 posts
  • Sexo:Não informado
  • Localidade:Balneário Camboriú - SC

Posted 29/11/2009, 18:25

Difícil dizer sem ver todo o seu código...
Mas por enquanto, tenta substituir

document.location.href

por

window.location.href

#3 MarkMelo

MarkMelo

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 29/11/2009, 19:58

Difícil dizer sem ver todo o seu código...
Mas por enquanto, tenta substituir

document.location.href

por

window.location.href


Não rolou a troca por window...

Vou postar as partes mais importantes porque, como eu estou usando o Visual Studio pra fazer.. O código fica bem extenso..

Aqui são os TextBoxes:
<asp:TextBox ID="qtdcampo" runat="server" MaxLength="3" Width="40px">0</asp:TextBox>
<asp:TextBox ID="qtdcidade" runat="server" MaxLength="3" Width="40px">0</asp:TextBox>
<asp:TextBox ID="qtdcorrida" runat="server" MaxLength="3" Width="40px">0</asp:TextBox>

Botão:
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" OnClientClick="myFunction()" Text="Comprar" />

Agora no code-behind da outra página para receber esses parâmetros:

protected void Page_Load(object sender, EventArgs e)
{
float totcampo, totcidade, totcorrida, total;

qtd1.Text = Request.QueryString.Get("qtdca");
qtd2.Text = Request.QueryString.Get("qtdci");
qtd3.Text = Request.QueryString.Get("qtdco");

totcampo = float.Parse(qtd1.Text) * float.Parse(preco1fin.Text);

totcidade = float.Parse(qtd2.Text) * float.Parse(preco2fin.Text);
totcorrida = float.Parse(qtd3.Text) * float.Parse(preco3fin.Text);

total = totcampo + totcidade + totcorrida;



totalpreco.Text = total.ToString();
totalqtd.Text = (float.Parse(qtd1.Text) + float.Parse(qtd2.Text) + float.Parse(qtd3.Text)).ToString() ;
}

No caso, eu já estou atribuindo todos os valores obtidos nos controls criados na página.

Aqui é o eventHandler do botão

protected void Button1_Click(object sender, EventArgs e)
{

}

Vazio.. Tem que ter algum tipo de redirecionamento ou chamada aqui, mesmo tendo a função de redirecionamento do JavaScript???

Edição feita por: MarkMelo, 29/11/2009, 20:02.


#4 Feko

Feko

    Normal

  • Usuários
  • 87 posts
  • Sexo:Não informado
  • Localidade:Balneário Camboriú - SC

Posted 30/11/2009, 14:48

Não precisava de seu código ASP, só do HTML gerado :)
Não coloquei a chamada da função no onsubmit do form. No onsubmit, coloquei return false, e chamei a função no onclick do botão.
Funcionou sem problemas, tanto o redirecionamento quanto o alerta.
O código ficou assim:

<html>
	<head>
		<script type="text/javascript">
			function myFunction(){
				if((document.form1.qtdcampo.value == "0") && (document.form1.qtdcidade.value == "0") && (document.form1.qtdcorrida.value == "0")){
					window.alert("Não é possível realizar a compra de 0 bicicletas.");
				}else{
					var qtdcampo = document.form1.qtdcampo.value;
					var qtdcidade = document.form1.qtdcidade.value;
					var qtdcorrida = document.form1.qtdcorrida.value;
					var url = "/WebSite1/pedido.aspx";
					window.location.href = url + "?qtdca=" +qtdcampo+"&qtdci="+qtdcidade+"&qtdco="+qtdcorrida;
				}
			}
		</script>
	</head>
	<body>
		<form name="form1" method="GET" action="#" onsubmit="return false">
			<input type="text" name="qtdcampo" value="0" />
			<input type="text" name="qtdcidade" value="0" />
			<input type="text" name="qtdcorrida" value="0" />
			<input type="button" name="botao1" onclick="myFunction()" value="Vai meu filho!!!" />
		</form>
	</body>
</html>


Tente fazer isso, substituindo seu formulário em ASP por um formulário em HTML normal.
Abraços.

#5 MarkMelo

MarkMelo

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 01/12/2009, 21:32

Não precisava de seu código ASP, só do HTML gerado :)
Não coloquei a chamada da função no onsubmit do form. No onsubmit, coloquei return false, e chamei a função no onclick do botão.
Funcionou sem problemas, tanto o redirecionamento quanto o alerta.
O código ficou assim:

<html>
	<head>
		<script type="text/javascript">
			function myFunction(){
				if((document.form1.qtdcampo.value == "0") && (document.form1.qtdcidade.value == "0") && (document.form1.qtdcorrida.value == "0")){
					window.alert("Não é possível realizar a compra de 0 bicicletas.");
				}else{
					var qtdcampo = document.form1.qtdcampo.value;
					var qtdcidade = document.form1.qtdcidade.value;
					var qtdcorrida = document.form1.qtdcorrida.value;
					var url = "/WebSite1/pedido.aspx";
					window.location.href = url + "?qtdca=" +qtdcampo+"&qtdci="+qtdcidade+"&qtdco="+qtdcorrida;
				}
			}
		</script>
	</head>
	<body>
		<form name="form1" method="GET" action="#" onsubmit="return false">
			<input type="text" name="qtdcampo" value="0" />
			<input type="text" name="qtdcidade" value="0" />
			<input type="text" name="qtdcorrida" value="0" />
			<input type="button" name="botao1" onclick="myFunction()" value="Vai meu filho!!!" />
		</form>
	</body>
</html>


Tente fazer isso, substituindo seu formulário em ASP por um formulário em HTML normal.
Abraços.


Funcionou cara!!

Muito obrigado!

#6 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 21/09/2017, 15:48

Acheter Azithromycin Canada cialis Bizrate Levitra
For sale secure isotretinoin tablets website free shipping Zithromax Chlamydien
Viagra Effets Indesirables <a href=http://cialtobuy.com>buy cialis</a> Canadian Ed Drugs Online
Ed Sample Pack Cheap buy cialis Viagra Pfizer Nebenwirkungen
Como Conseguir Cytotec En Usa
buy accutane in usa <a href=http://cialtobuy.com>cialis</a> Viagra Baja La Presion
Propecia Long Term online pharmacy Pharmacy Shop Buy Cialis
Buy Kamagra Oral Jelly Nz Cialis Precio Farmacia Benavides Achat Kamagra 100mg
Cheap Propecia Online <a href=http://cialtobuy.com>cialis</a> Cialis 2013

#7 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 16/10/2017, 04:40

Drug 24h Coupon Generico De Propecia Comprar Cialis viagra Viagra Original Oder Falschung Propecia Comprar Online
Acheter Kamagra Gel Grenoble Propecia Esteroides Hctz 25 Mg Cheap buy levitra safely from canada Buy Nexium Online

#8 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 01/11/2017, 14:01

Cialis Pour Femme En Pharmacie levitra from canada Buy Colchicine Online Dose Of Amoxicillin For Tick Bite Original Viagra Erkennen
Professional Cialis Buy Cipro Online Canada Finasteride Ratiopharm 1 Mg Prix overnight delivery buy levitra online Acticin With Next Day Delivery
Will Keflex Reduce Breastmilk Production Acheter Lioresal Belgique Slidenfil Sublingual Tabs buy viagra online Propecia How Much Prescription Zithromax Order Buy Deltasone Without Prescription

#9 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 22/11/2017, 18:53

Doxycycline For Sale Internet buy cialis Viagra Cialis Combo Cialis Tadalista Prix Du Viagra Forum

#10 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 22/11/2017, 20:24

Priligy Generika Gunstig Carafate Componentes Propecia cialis online Cialis Prezzo Del Prodotto Cialis Y Lactancia
Buy Female Viagra In India Prix Du Cialis Avec Ordonnance Levitra Servizio Sanitario Nazionale viagra Propecia Minoxidil Side Effects

#11 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 23/11/2017, 00:51

Buy Kamagra vardenafil hcl 20mg tab Viagra Generic Usa Pharmacy
Cialis Under The Counter Kamagra Oral Jelly Results viagra Compra Viagra Madrid




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq