Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在IE中不断出现“对象不支持此属性或方法”错误_Javascript_Actionscript 3 - Fatal编程技术网

Javascript 在IE中不断出现“对象不支持此属性或方法”错误

Javascript 在IE中不断出现“对象不支持此属性或方法”错误,javascript,actionscript-3,Javascript,Actionscript 3,我正在尝试为一个项目构建一个简单的HTML-to-Flash通信器,它在Firefox中运行良好,但我一直在获取一个对象,它不支持IE中的这个属性或方法错误 它所说的错误是 document.getElementByIdflashTest.sendValFromHtmlform.connection.value、form.location.value、form.postcode.value 有人能解释一下这种情况吗 <script type="text/javascript">

我正在尝试为一个项目构建一个简单的HTML-to-Flash通信器,它在Firefox中运行良好,但我一直在获取一个对象,它不支持IE中的这个属性或方法错误

它所说的错误是 document.getElementByIdflashTest.sendValFromHtmlform.connection.value、form.location.value、form.postcode.value

有人能解释一下这种情况吗

<script type="text/javascript">
    function submitFlashCheck() {
        var form = document.getElementById("formTest");
        var hasConnection = form.connection.value.length != 0; 
        var hasLocation = form.location.value.length != 0;

        document.getElementById("connection").className = hasConnection ? "" : "invalid";
        document.getElementById("location").className = hasLocation ? "" : "invalid";

        if(hasConnection && hasLocation){
            //apparently causing error:
            document.getElementById("flashTest").sendValFromHtml(form.connection.value, form.location.value, form.postcode.value);                              
        }
    }
</script>


<div class="test mb-20">
    <form id="formTest" name="formTest" method="post" action="">
        <fieldset class="form">
            <div class="connection">
                <label id="connection">Connection:*</label>
                <div class="textwrapper">
                    <select name="connection">
                        <option value="">Select connection</option>
                        <option value="">----------------------</option>
                        <option value="100">100</option>
                        <option value="200">200</option>
                        <option value="500">500</option>
                    </select>
                </div>
            </div>
            <div class="location">
                <label id="location">Location*:</label>
                <div class="textwrapper">
                    <select name="location">
                        <option value="">Select your location</option>
                        <option value="">----------------------</option>
                        <option value="syd">Sydney</option>
                        <option value="melb">Melbourne</option>
                        <option value="can">Canberra</option>
                        <option value="bris">Brisban</option>
                    </select>
                </div>
            </div>
            <div class="postcode">
                <label>Postcode:</label>
                <div class="textwrapper">
                    <input type="text" name="postcode" id="postcode">
                </div>
            </div>
            <div class="start clear">
                <input class="button" type="button" name="sendToFlash" id="sendToFlash" value="Start Test" onclick="submitFlashCheck();" />
            </div>
        </fieldset>
    </form>
闪光灯:

<embed src="/flash/proj-3.swf" id="flashTest" name="flashTest" width="540" height="320" allowscriptaccess="always" type="application/x-shockwave-flash"  flashvars="jsfunc=pushResults&jsfunc2=showExtras" />

我觉得IE不喜欢仍在搜索引用的元素。尝试从


sendValFromHtml方法从何处获得?可能重复:@Pointy sendValFromHtml是swf中用于外部接口回调的方法名。@tkone,这不是重复。虽然基于同一个项目,但我问了一个不同的问题。@muudles好吧-我很好奇,因为通过谷歌很难找到关于它的任何东西,这对于一个如此基本的API来说似乎有点奇怪。嗨,Phil,谢谢你,这对IE来说似乎非常有效。不幸的是,它在Firefox中已经不起作用了。有什么想法吗?@mudles可能是因为非IE浏览器使用的内部对象没有ID。您可能应该使用swfObject库来规范所有浏览器的flash对象。
<object id="flashTest"
        classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
        width="540"
        height="320"
        allowscriptaccess="always"
        flashvars="jsfunc=pushResults&jsfunc2=showExtras">
    <param name="movie" value="/flash/proj-3.swf" />
    <!--[if !IE]>-->
    <object type="application/x-shockwave-flash"
            data="/flash/proj-3.swf"
            width="540"
            height="320"
            allowscriptaccess="always"
            flashvars="jsfunc=pushResults&jsfunc2=showExtras">
    <!--<![endif]-->
        <p>Alternative content</p>
    <!--[if !IE]>-->
    </object>
    <!--<![endif]-->
</object>