Javascript 我想通过使用ExternalInterface在ActionScript3中使用HTML表单输入值

Javascript 我想通过使用ExternalInterface在ActionScript3中使用HTML表单输入值,javascript,jquery,actionscript-3,forms,externalinterface,Javascript,Jquery,Actionscript 3,Forms,Externalinterface,我在同一页上有一个HTML表单和一个SWF文件。我希望用户在html表单中输入一些值,单击send并将这些值发送到swf以填充页面,而不刷新页面,我希望使用AJAX/JSON,但我不能。我不能让它工作。此时,我只想编写javascript变量,或者至少将JS对象解析到swf的艺术板上。一旦成功,我可以走得更远 HTML: AS3: import flash.external.ExternalInterface; var retval:int = ExternalInterface.call("

我在同一页上有一个HTML表单和一个SWF文件。我希望用户在html表单中输入一些值,单击send并将这些值发送到swf以填充页面,而不刷新页面,我希望使用AJAX/JSON,但我不能。我不能让它工作。此时,我只想编写javascript变量,或者至少将JS对象解析到swf的艺术板上。一旦成功,我可以走得更远

HTML:

AS3:

import flash.external.ExternalInterface;

var retval:int = ExternalInterface.call("sendData()", "urls");
var str = retval.toString();

var myTextBox:TextField = new TextField();    
myTextBox.text = str;    
addChild(myTextBox); 

要将数据发送到swf,首先需要在actionscript中注册回调

ExternalInterface.addCallback("setUrls", setUrls);

private function setUrls(urls:String) {
    var myTextBox:TextField = new TextField();    
    myTextBox.text = str;    
    addChild(myTextBox); 
}
然后需要从javascript调用它

function sendData(){
    inputs = $('#submit2swf :input'),
    urls = {};
    inputs.each(function() {
        urls[this.name] = $(this).val();
    });
    console.log(urls);
    $('dogs').setUrls(urls);
}

获取此错误:Uncaught TypeError:undefined不是此行的函数:$'dogs'。setUrlsurls@DJERock您使用什么浏览器进行测试?
ExternalInterface.addCallback("setUrls", setUrls);

private function setUrls(urls:String) {
    var myTextBox:TextField = new TextField();    
    myTextBox.text = str;    
    addChild(myTextBox); 
}
function sendData(){
    inputs = $('#submit2swf :input'),
    urls = {};
    inputs.each(function() {
        urls[this.name] = $(this).val();
    });
    console.log(urls);
    $('dogs').setUrls(urls);
}