2010-08-16 80 views
2

我试图让一个swf发送一个电话号码到一个特定的asp-fil按下按钮。 但因为我是一个菜鸟AS3我不知道在哪里这个代码是怎么了?(请帮助):用as3发送变量到asp的正确方法是什么?

import flash.events.IOErrorEvent; 
import flash.display.*; 
import flash.events.MouseEvent; 
import flash.net.*; 
import flash.events.Event; 

public class action extends MovieClip 
{ 
    private var swf_front_mc:swf_front = new swf_front ; 
    var request:URLRequest = new URLRequest("succes.html"); 
    var request2:URLRequest = new URLRequest("http://www.example.com"); 
    public var mobilNr:Number = new Number(swf_front_mc.mobilInput.text); 
    public var varsToSend:URLVariables = new URLVariables(); 

    public function action() 
    { 
     addChild(swf_front_mc); 
     swf_front_mc.name = "swf_front_mc"; 
     swf_front_mc.x = 0; 
     swf_front_mc.y = 0; 

     makeInteraction(); 
    } 
    private function makeInteraction():void 
    { 
     swf_front_mc.submit_mc.addEventListener(MouseEvent.CLICK, submitForm); 
    } 

    function submitForm(e:MouseEvent):void 
    { 
     //trace("hello"); 
     varsToSend.RecipientMobileNumber = mobilNr; 

     // Create URL Request, set to POST, and attach data 
     var formRequest:URLRequest = new URLRequest("webform_input.asp"); 
     formRequest.method = URLRequestMethod.GET; 
     formRequest.data = varsToSend; 

     // Create URL Loader, attach listeners, and load URL Request 
     var varLoader:URLLoader = new URLLoader ; 
     varLoader.addEventListener(Event.COMPLETE, onLoaded); 
     varLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); 
     varLoader.load(formRequest); 
    } 
function onLoaded(e:Event):void 
    { 
     navigateToURL(request,"blank"); 
    } 

    function ioErrorHandler(e:IOErrorEvent):void 
    { 
     navigateToURL(request2,"blank"); 
    } 

} 
+1

好了,这样你就不会寻找类似FlourineFx或的WebORB。感谢您的反馈。 – Gunslinger47 2010-08-17 08:35:15

回答

1

感谢提示和提示家伙... 同时,我从朋友得到了完美的解决方案。这是我认为可能的更短,更简单。那就是:

package app.form 
{ 
    import flash.net.*; 
    import flash.display.*; 
    import flash.events.*; 

    public class container extends MovieClip 
    { 
     public function container() 
     { 
      sendBtn.addEventListener(MouseEvent.CLICK, sendBtnClick); 
     } 

     public function SendToURLExample(_navn:String, _tlf:String) { 
      var url:String = "http://www.yourdomain.com/file.asp"; 
      var variables:URLVariables = new URLVariables(); 
      variables.name = _name; 
      variables.phone = _phone; 

      var request:URLRequest = new URLRequest(url); 
      request.data = variables; 
      trace("sendToURL: " + request.url + "?" + request.data); 
      try { 
       sendToURL(request); 
      } 
      catch (e:Error) { 
       // handle error here 
      } 
     } 

     // two text-example-fields on stage called input_text_name/input_text_mobil 
     private function sendBtnClick(e:MouseEvent):void { 
      SendToURLExample(input_text_name.text, input_text_mobil.text); 
     } 
    } 

} 

希望这将解决东西有人在那里:)

0

试试这个例子 http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/net/URLVariables.html#includeExamplesSummary

,或者你可以尝试增值税编码成GET URL像新的URLRequest(“localhost /?number =”+ numberField.text);

但首先尝试从之前的示例导航调用方法。

p.s.看看这个:http://blog.flexexamples.com/2007/08/16/using-httpservice-tag-to-sendreceive-variables-to-a-server-side-script/

+0

感谢您阅读的提示:)找到了一个解决方案tho ...张贴在下面。 – VoodooBurger 2010-08-19 07:03:35

+0

如你所愿:) 快乐编码) – Eugene 2010-08-19 08:01:33

相关问题