Я работаю над кое-чем, что будет частью веб-сайта электронной коммерции для назначения. Вы, вероятно, посмотрите на это и подумаете, что я должен просто сделать это с JS, но нам сказали, что вряд ли стоит использовать JS, и вместо этого предпочтение PHP, особенно при запросах таблиц SQL.
Я создаю что-то, где, когда пользователь mouseOvers () для любого изображения в каталоге, общий iFrame обновляется информацией, основанной на изображении, имеющем текущий фокус - он делает это, запрашивая базу данных, используя переменную загружается. Именно здесь я использовал JS для отправки формы, которая обновляет iFrame, и, поскольку PHP анализируется на стороне сервера, после обновления информация может загружаться, по-видимому, динамически для пользователя.
Кажется, все работает, за исключением того факта, что целевой iframe не обновляется, а вместо этого страница загружается в новую вкладку или окно в моем браузере (Firefox). ПРИМЕЧАНИЕ. Этот код является черновиком!
<div class="contentpane">
<div class="image1" onMouseOver="jsFunction();" onMouseOut="jsFunction2();">
<img src="http://t0.gstatic.com/images?q=tbn:ANd9GcStRUHQMqvpCvdCyEwkO9DFxy0IY9fg1CP3uePBktHRMz8QznlQ" width=100 height=100/>
</div>
<div class="image2">
</div>
<div class="image3">
</div>
<script>
function jsFunction(){
document.forms['testform'].elements['i1'].value = "mouseOver";
document.forms["testform"].submit();
// force refresh on Mouse Over
/*var f = document.getElementById('testiframe');
f.contentWindow.location.reload(true);*/
}
function jsFunction2(){
document.forms['testform'].elements['i1'].value = "mouseOut";
document.forms["testform"].submit();
}
</script>
<iframe src="iframetest.php" id='testiframe' width="200" height="200">
<!-- using this roundabout way with iframes so that all interaction with SQL is via PHP and not JS-->
</iframe>
<!-- hidden form that has a target of the iframe, submitted by the js functions-->
<form id="testform" method="GET" target="testiframe" action="iframetest.php" >
<input type="hidden" id="i1" name="i1" value="hey"> <!-- retrieved in php file by $_GET-->
</form>
И код для iframetest.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="style.css" />
<title>Home</title>
</head>
<body>
Dynamic content, will be pulled from SQL via PHP <br/> <br/>
<?php
if(isset($_GET)){
echo $_GET["i1"];
}
?>
Спасибо за вашу помощь, ребята!