PHP到jquery对话框()交互问题.
我有一个
HTML按钮:
<button id="monitor" onclick="startMonitor('<?php echo $result_cameras[$i]["camera_hash"]; ?>','<?php echo $result_cameras[$i]["camera_name"]; ?>','<?php echo $camera_quality_flash; ?>');">Monitor</button> 这将加载Flash内容: <script language="javascript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script> <script language="javascript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.js"></script> <script type="text/javascript"> var js = jQuery.noConflict(); var startMonitor = function(cameraHash,cameraName,cameraFlashQuality) { var url = ['flash/app.php?user=<?php echo $id_hash; ?>','camera=' + cameraHash,'name=' + encodeURIComponent(cameraName),'quality=' + cameraFlashQuality].join('&'); js('<div></div>').load(url,function() { js(this).dialog(); }); }; 我想使用jquery对话框打开此内容.传入的所有内容似乎都是完美的(根据来自萤火虫的GET响应)但我仍然得到一个jquery错误. 失踪 ;在语句jquery.js第612行之前 我究竟做错了什么?我甚至不确定如何调试这个.提前致谢. 编辑: 如果我将此网址粘贴到我的浏览器中,则Flash应用程序会按预期在浏览器中启动,但显然不会显示在jquery对话框中.我的jquery代码一定有问题吗? 解决方法
(删除了错误的答案.)
编辑: 最初,我将jquery.js误解为您创建的文件,而不是真正的jquery.测试完代码后,我可以看到您发送的数据可能是问题所在.你能用$result_cameras [$i] [“camera_hash”],$result_cameras [$i] [“camera_name”],$camera_quality_flash和$id_hash的数据发布样本吗?另外,url的值是什么? 解: 按钮提交表单,页面正在重新加载.对话框显示,但随后页面立即重新加载,因此似乎从未有过对话框.为了防止这种行为,按钮的click()函数必须返回false(如果没有返回值,则将其视为真实结果). 关于此解决方案的说明 >依赖于存在的对象,所以我将所有内容都移到了ready()事件中. >网址 > responseText,从服务器返回的HTML HTML测试文件: <html> <head> <script language="javascript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script> <script language="javascript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.js"></script> </head> <body> <form> <?php $i = 0; $result_cameras = array(array("camera_hash" => "test1","camera_name" => "test2")); $camera_quality_flash = 1; $id_hash = "hashish"; echo '<button id="monitor1" class="monitor" camHash="' . $result_cameras[$i]["camera_hash"] . '" camName="' . $result_cameras[$i]["camera_name"] . '" camQual="' . $camera_quality_flash . '" >Monitor 1</button>'; echo '<button id="monitor2" class="monitor" camHash="' . $result_cameras[$i]["camera_hash"] . '-2" camName="' . $result_cameras[$i]["camera_name"] . '-2" camQual="' . $camera_quality_flash . '-2" >Monitor 2</button>'; ?> <div class="tester">TEST DIV</div> </form> </body> <script type="text/javascript"> var js = jQuery.noConflict(); js(document).ready(function(){ var monitor = js(".monitor"); //alert(monitor[1]); monitor.each( function(i){ js(this).click( function(){ //alert(js(this).attr('camHash')); startMonitor( js(this).attr('camHash'),js(this).attr('camName'),js(this).attr('camQual') ); return false; } ); } ); var startMonitor = function(cameraHash,cameraFlashQuality) { var url = [ 'flash/app.php?user=<?php echo $id_hash; ?>','quality=' + cameraFlashQuality ].join('&'); js('<div>TEST DIV 2</div>').load(url,function(response,status,xhr) { js('.tester').text( "<div>xhr: <br />" + xhr.status + "<br />" + xhr.statusText + "<br />" + xhr.getAllResponseHeaders() + "<br />" + xhr.responseText + "<br />" + xhr.responseXML + "<br />" + "</div>" ); // js(this).dialog(); } ); }; }); </script> </html> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |