Submetendo um formulário no Flex usando o método GET com PHP

No HTML, para submeter um formulário no método GET, você usa o seguinte código:

<form action="RecebeForm.php" method="get">
   Username: <input name="user" type="text" />
   <input type="submit" value="Submit" />
</form>

Isto conduz a submeter o formulário para a URL no descrito em action.

Para submeter um formulário utilizando o FLEX você usa o seguinte código:

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
     layout="absolute" backgroundColor="#f6f6f6"
     backgroundGradientColors="[#f6f6f6, #bbbbbb]">

	<mx:Label text="Submetendo formulário no método GET"
            fontSize="20" fontWeight="bold" x="10" y="10"/>
	<mx:HRule x="10" y="49" width="80%"/>
	<mx:TextInput id="username" x="10" y="71"/>
	<mx:Button x="178" y="71" label="Enviar" click="form1.send()"/>
	<mx:Label x="10" y="101" text="Resultado"/>
	<mx:TextArea x="10" y="118" width="234" height="188"
            id="textarea1"/>

	<mx:HTTPService id="form1" method="GET" resultFormat="text"
            result="{textarea1.text = String(event.result)}"
            url="/code/009/post.php">
		<mx:request>
			<username>{username.text}</username>
		</mx:request>
	</mx:HTTPService>
</mx:Application>

No servidor, para receber e tratar o formulário, usamos o seguinte código PHP:

<?php
    print "Você enviou as seguintes informações de formulário:
";
    print_r($_GET);
?>

Veja como ficou

Neste exemplo, você envia seu formulário para uma página PHP que trata os valores do formulário e os envia de volta para o cliente sem recarregar a página.

Vamos por partes:

<mx:HTTPService id="form1" method="GET" resultFormat="text"
     url="/code/009/post.php"
     result="{textarea1.text = String(event.result)}">

Nesta parte do código, chamamos a classe HTTPService que irá levar sua requisição até o servidor.

O método method indica que os dados serão transmitidos no método GET. Este método informa para o Flex que quando for submetido o formulário, o HTTPService tratará os dados no método proposto.

O método url irá propor o destino da requisição.

Já o método resultFormat indica em qual formato, é esperado a resposta do servidor. No nosso caso especificamos que o retorno será text.

E por ultimo o método result informa qual função irá tratar a requisição após o retorno

<mx:request>
    <username>{username.text}</username>
</mx:request>

Este classe lista todas os valores que serão enviadas ao servidor quando a classe HTTPService for invocada. Nesta chamada voce deve listar todos os valores que devem ser enviados ao servidor.

Por exemplo, em uma requisição de login, onde dois valores são passados, poderá ser e feito assim:

<mx:request>
    <username>{username.text}</username>
    <password>{password.text}</password>
</mx:request>

neste caso as TAG’s <username> e <password> são os nome das variáveis e internamente o seu valor. No atributo das variaveis pode invocar código ActionScript colocando entre chaves.

Clique aqui e baixe todos os códigos apresentados neste post.

Fique por dentro de nossas novidades, ideias e atualizações