0

これは実際には巨大なプロジェクトの一部であるため、css は含めませんでしたが、実際に必要な場合はここに投稿します。

わかりました、私はこのコードを持っています

<html>
<head>
<script src="js/jquery.js"></script>
<script type="text/javascript">
var q = "0";
function rr()
{
var q = "1";
var ddxz = document.getElementById('inputbox').value;
if (ddxz === "")
{
alert ('Search box is empty, please fill before you hit the go button.');
}
else
{
$.post('search.php', { name : $('#inputbox').val()}, function(output) {
    $('#searchpage').html(output).show();
});
var t=setTimeout("alertMsg()",500);
}

}

function alertMsg()
{
$('#de').hide();
$('#searchpage').show();
}


  // searchbox functions ( clear & unclear )
function clickclear(thisfield, defaulttext) {
    if (thisfield.value == defaulttext) {
        thisfield.value = "";
    }
}

function clickrecall(thisfield, defaulttext) {
    if (q === "0"){

    if (thisfield.value == "") {
        thisfield.value = defaulttext;
    }}
    else
    {

    }
}

//When you click on a link with class of poplight and the href starts with a # 

$('a.poplight[href^=#]').click(function() {

var q = "0";

$.post('tt.php', { name : $(this).attr('id') }, function(output) {
    $('#pxpxx').html(output).show();
});


    var popID = $(this).attr('rel'); //Get Popup Name

    var popURL = $(this).attr('href'); //Get Popup href to define size



    //Pull Query & Variables from href URL

    var query= popURL.split('?');

    var dim= query[1].split('&');

    var popWidth = dim[0].split('=')[1]; //Gets the first query string value



    //Fade in the Popup and add close button

    $('#' + popID).fadeIn().css({ 'width': Number( popWidth ) }).prepend('<a     href="#" class="close"><img src="images/close_pop.png" class="btn_close" title="Close Window" alt="Close" /></a>');



    //Define margin for center alignment (vertical + horizontal) - we add 80 to the height/width to accomodate for the padding + border width defined in the css

    var popMargTop = ($('#' + popID).height() + 80) / 2;

    var popMargLeft = ($('#' + popID).width() + 80) / 2;

    //Apply Margin to Popup

    $('#' + popID).css({ 

        'margin-top' : -popMargTop,

        'margin-left' : -popMargLeft

    });
    //Fade in Background

    $('body').append('<div id="fade"></div>'); //Add the fade layer to bottom of the body tag.

    $('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn(); //Fade in the fade layer 



    return false;

});





//Close Popups and Fade Layer

$('a.close, #fade').live('click', function() { //When clicking on the close or fade     layer...

    $('#fade , .popup_block').fadeOut(function() {

        $('#fade, a.close').remove();  

}); //fade them both out



    return false;

});

    }); 
</script>
</head>
<body>
<input name="searchinput" value="search item here..." type="text" id="inputbox"     onclick="clickclear(this, 'search item here...')" onblur="clickrecall(this,'search item here...')"/><button id="submit" onclick="rr()"></button>

<div id="searchpage"></div>
<div id="backgroundPopup"></div>
<div id="popup" class="popup_block">
<div id="pxpxx"></div>              
</div>
</body>
</html>

ユーザーがボタンをクリックすると(#submit)、次にphpファイル(search .php) はデータを処理し、jquery が渡したデータと一致する mysql のレコードがあるかどうかをチェックします。もしあれば、search.php はデータを jquery 関数に戻し、次にその jquery 関数に渡します。指定した div(#searchpage) にデータを出力します。

<?
if(isset($_POST['name']))
{
$name = mysql_real_escape_string($_POST['name']);

$con=mysql_connect("localhost", "root", "");
if(!$con)
{
die ('could not connect' . mysql_error());
}
mysql_select_db("juliver", $con);

$result = mysql_query("SELECT * FROM items WHERE title='$name' OR description='$name'     OR type='$name'"); 
$vv = "";
while($row = mysql_fetch_array($result))
{
$vv .= "<div id='itemdiv2' class='gradient'>";
$vv .= "<div id='imgc'>".'<img src="Images/media/'.$row['name'].'" />'."<br/>";
$vv .= "<a href='#?w=700' id='".$row['id']."' rel='popup' class='poplight'>View     full</a>"."</div>";
$vv .= "<div id='pdiva'>"."<p id='ittitle'>".$row['title']."</p>";
$vv .= "<p id='itdes'>".$row['description']."</p>";
$vv .= "<a href='http://".$row['link']."'>".$row['link']."</a>";
$vv .= "</div>"."</div>";
}
echo $vv;
mysql_close($con);
}
else
{
echo "Yay! There's an error occured upon checking your request";
}
?>

ここに、jquery a.poplight クリック関数がデータを渡す php ファイル (tt.php) があります。次に、最初の php ファイル (search.php) の関数と同様に、mysql でデータの一致を探します。それをjqueryに戻すと、jqueryはファイルを指定されたdiv(#popup)に出力し、指定されたdiv(#popup)に出力されると、div(#popup)はポップアップボックスのように表示されます(これは実際には絶対にポップアップ ボックスです)。

<? 
//session_start(); start up your PHP session!//
if(isset($_POST['name']))
{
   $name = mysql_real_escape_string($_POST['name']);

$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("juliver", $con);

$result = mysql_query("SELECT * FROM items WHERE id='$name'");

while($row = mysql_fetch_array($result))
{   
    $ss = "<table border='0' align='left' cellpadding='3' cellspacing='1'><tr><td>";    
$ss .= '<img class="ddx" src="Images/media/'.$row['name'].'" />'."</td>";
    $ss .= "<td>"."<table><tr><td style='color:#666; padding-right:15px;'>Name</td><td     style='color:#0068AE'>".$row['title']."</td></tr>";
    $ss .= "<tr><td style='color:#666; padding-right:15px;'>Description</td>    <td>".$row['description']."</td></tr>";
    $ss .= "<tr><td style='color:#666; padding-right:15px;'>Link</td><td><a href='".$row['link']."'>".$row['link']."</a></td></tr>";
    $ss .= "</td></tr></table>";

}
echo $ss;
mysql_close($con);
}
?>

ここに問題があります。ポップアップボックス(.popup_block)が表示されていないため、jqueryがそのdiv(.popup_block)に出力されたphpファイル(tt.php)からのデータ(それが正常に渡された場合php ファイルを jquery に読み込み、jquery によって出力されます)。

これに依存する私のコードのいくつかは実際に機能しており、そのポップアップボックスは実際に表示されていますが、この部分だけが表示されておらず、jquery関数であったphpファイルからのデータはありません。

誰かが助けてくれることを願っています.

ジュリバー

4

2 に答える 2

1

最初に考えたのは、ページが読み込まれる前にスクリプトが呼び出されていることです。これを解決するには、次を使用します。

 $(document).ready(function()
 {
      $(window).load(function()
      {
           //type here your jQuery
      });
 });

これにより、スクリプトは、すべてのコンテンツと画像を含むページ全体が読み込まれるのを待ちます。

于 2012-09-25T15:00:51.310 に答える