将一个Javascript var转换为PHP在<div> </div>中

时间:2013-01-19 21:35:00

标签: php javascript jquery ajax

  

可能重复:
  Javascript after Ajax

我想在DOM中使用Javascript代码。

我有这个要求:

function ajaxrequest(str){

    var aircraft = $("#resultdiv");
        aircraft.load("./file.php?icao="+str, function(){
        });
    }

我在file.php中有这个javascript代码:

<script>
    function example(){

            var id = document.getElementById('id').value;
                    $("div2").text(id);
        }
    </script>

如何正确地运行DOM中的Javascript?如果我在DOM中这样做。 var id = document.getElementById('id').value;不行。

@charlietfl 这是HTML代码

<div id="editaircraftdialog" style="width: auto; min-height: 100px; height: auto;" class="ui-dialog-content ui-widget-content" scrolltop="0" scrollleft="0"><input id="id" value="foo">
<input id="editaircraft" type="submit" value="Edit Aircraft">

<div id="div2"></div></div>

这是文件的代码:

<input id="id" value="foo"/>
<tr><td><input id="editaircraft" type="submit" value="Edit Aircraft"></td></tr>
<script>
$("#editaircraft")
                .find('button') /* ??? */
                .click(editForm);
function editForm(){
var id = document.getElementById('id').value;
$("div2").text(id);
}

</script>
<div id="div2"></div>

1 个答案:

答案 0 :(得分:0)

如果远程文件中的脚本放在它要查找的html之前,它将无法找到它,因为脚本将在html存在之前运行。颠倒html和脚本的顺序将意味着在脚本尝试找到它之前存在html并且它将起作用。

即使代码包含在document.ready中也是如此,因为主页中已经发生了ready事件

此外,远程文件中显示的脚本是一个函数,但您不会显示调用该函数

无效:

<script> var id = document.getElementById('id').value;</script>
<input id="id" value="foo"/>

会工作:

<input id="id" value="foo"/>
<script> var id = document.getElementById('id').value;</script>

编辑:您还可以将脚本放在主页中load的完整回调中:

aircraft.load("./file.php?icao="+str, function(){
   /* new html now exists, run code here*/
 });
相关问题