我试图找到一个解决方案,但是空白了。 选择链接时,我的页面需要交换信息。 基本上你选择一个选择的项目,然后主要的div与表格和数据有关你的选择。
我已经为此设置了正常运行的页面,但由于它全部是在PHP中,因此页面每次都会重新加载。这对于某些选择并不好,因为链接部分也有完全刷新(根据成员可能会很长)。因此,某些帐户的重新加载时间可能会有点长,这就是我选择jQuery换出的原因。
这是我的jQuery脚本。
function swapContent(cv) {
$("#input").html('<img src="28.gif"/>').show();
var url = "scripts/run.php";
$.post(url, {contentVar: cv} ,function(data) {
$("#input").html(data).show();
});
}
PHP是简单的“echo”返回值。
if ($contentVar == true) {
echo $resultLoad;
}
$ resultLoad; 是在PHP脚本中创建的已完成变量。 一切看起来都不错,似乎适用于大多数事情,但我对输出所有信息的“echo”有一点问题。
如果我在if语句中添加第二个“echo”,或者在if语句之后添加第二个“echo”,第一个echo将始终显示一半信息,其余信息显示正常。
这不是时间问题,因为我在jQuery和PHP中尝试过定时器以允许数据完成而没有任何影响。
如果您想亲眼看到它,可以转到test page(但您需要成为一名已登录的会员,其中包含上传的YouTube帐户) 别担心....免费网站:)
但如果你没有,那么这里就是screen capture。
=============================================== ========================
修改
@Rusty Jeans(和其他任何人)我有一个用PHP运行的大脚本。 在PHP中,我有一个函数可以读取给定成员帐户的YouTube streem。 然后我解析出从YT服务器以SXML格式提供的所需的相关信息。然后,我检查一下我是否已在系统中播放该特定视频。 这一切都很好。问题来自编写HTML表单并显示它的最后一部分。
include_once "dropdown_java.php";
$resultLoad = $dropdown_java.'
<table width="455" border="0">
<tr>
<td>
<p><div class="thumbnail"><a href="' . $href . '\" target="_blank">
<img src="' . $thumb . '" width="120" height="90" /></a></div></p>
<p><b><u>VideoId:</u></b><br /> ' . $vid . '</p>
<p><b><u>Video Title:</u></b><br /> ' . $vidtitle . '</p> <p><b><u>Video Discription:</u></b><br /> ' . $vidDiscript . '</p>
</td>
</tr>
</table>
<form action="php_uploader.php" method="post" enctype="multipart/form-data" name="myform" id="dataInput">
<span class="alignRt"><b><u>Area Of Interest:</u></b><br />
<select name="Area_Of_Interest" size="1" id="Area_Of_Interest"
onchange="setOptions(document.myform.Area_Of_Interest.options[document.myform.Area_Of_Interest.selectedIndex].value);">
'.$first_option_dropdown.'
</select><br /><br />
<span class="alignRt"><b><u>Category:</u></b><br />
<select name="Category" id="Category" size="1">
<option value="" selected="selected"></option>
</select>
</span></p>
<p><span class="alignRt"><b><u>Difficulty:</u></b>
<input name="Difficulty" type="text" class="formFields" id="Difficulty" size="1" maxlength="1" />
<font size="-1" >Difficulty out of 5 [ 1: Easy - 5: Hard ] </font></span>
<p>
</p><font size="-1" >Please supply a zip file with the learning material for the tutorial</p></font>
<font size="2"><b>Choose your file here: </b></font><a href="#" onclick="MM_popupMsg(\'Only .zip format will be uploaded.\rAnything else will be converted to a .zip and be unreadable.\')">
<font size="1" style="cursor: help" color="#00CCFF"><b>(?)</b></font></a>
<input name="zipFile" type="file" class="formFields" id="zipFile" style="border-style: none; color: white; background-color: #000; border-style: solid; border-color: white; border-width: 1px;"/><br /><br />
<br />
<input name="Submit3" type="submit" onclick="MM_validateForm(\'youtube\',\'\',\'R\',\'Video_Title\',\'\',\'R\',\'VideoID\',\'\',\'R\',\'Video_Discription\',\'\',\'R\',\'Area_Of_Interest\',\'\',\'R\',\'Category\',\'\',\'R\',\'Difficulty\',\'\',\'RinRange1:5\');
return document.MM_returnValue" value="Submit Form" /></form>
</p>';
如果你也注意到,我在下拉列表的表单中有一个javascript。
由于某种原因,在echo的第一遍中省略了第一个表和“dropdown java”chunck。我确实加入了他们以及测试,但仍然没有。
=============================================== ================
更新:
==========
经过一些研究和游戏后,我发现了两件事。 首先,似乎php中的javascript是一些原因。可能是错的,但看起来确实如此。 (我未经训练的眼睛)
其次,我发现它适用于GoogleChroma和FireFox就好了。只有IE正在起作用。我在IE8上测试。
我希望有人可以帮助解决这个问题,或者过去曾遇到过类似的问题。
答案 0 :(得分:0)
也许jQuery不正确地解释它?尝试将"html"
类型添加到$.post()
:
function swapContent (cv) {
$("#input").html('<img src="28.gif"/>').show();
var url = "scripts/run.php";
$.post(url, {contentVar: cv}, function (data) {
$("#input").html(data).show();
}, "html");
}
还有一种专门针对您正在做的事情的简写方法,.load()。
$("#input").load("scripts/run.php?contentVar=" + cv).show();
您必须在PHP中访问$_GET['contentVar']
而不是$_POST['contentVar']
。