2016-11-08 15 views
1

ポップアップウィンドウは、変数にスペースや#などの特殊文字があるまでうまく機能します。 たとえば、参照変数が '12345'のような場合はポップアップウィンドウが表示されます。スペースや特殊文字については機能しません。 私はjavascriptポップウィンドウとphp combineを使用して、それぞれの参照アイテムを表示しています。ポップウィンドウでURL内のスペースや特殊文字をエスケープする

<script type="text/javascript"> 
function PopupCenter(pageURL, title,w,h) 
{ 
var left = (screen.width/2)-(w/2); 
           var top = (screen.height/2)-(h/2); 
           var targetWin = window.open (pageURL, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left); 
          } 
          </script> 


    <?php 
    $sql = "SELECT * from purchase_tb ORDER BY ponumber ASC "; 
    $result = $conn->query($sql); 
    if ($result->num_rows > 0) { 
    echo " 
    <div class='table-responsive'> 
    <table class='table table-bordered table-hover table-condensed '> 
    <tr class='success'><th>PO.Number</th><th> Model </th><th>Date Created</th> 
    </tr>"; 
    $current_cat = null; 
    while($row = $result->fetch_assoc()) { 
    if ($row["ponumber"] != $current_cat) { 
    $current_cat = $row["ponumber"]; 
    $current_cat2 = $row["datecreated"]; 
    echo " 
    <tr><td>"; 
    echo" 
    {$current_cat}</td> 
    <td><a href='#' onclick=PopupCenter('viewpurchase.php?Rid=".$row['ponumber']."','myPop1',1000,800)>View</a></td><td>{$current_cat2}</td>"; 
?> 

答えて

1

URLはエンコードされている必要があります。

有効なURLを作成するには、スペースなどの文字を有効な文字に置き換える必要があります。

例:?

viewpurchase.php ID = 2 334

viewpurchase.php%3Fid%3D2%の20334

コード内でPHP関数urlencodeをお試しくださいとなり

<a href='#' onclick=PopupCenter('viewpurchase.php?Rid=". 

urlencode($row['ponumber']). 

"','myPop1',1000,800)>View</a></td><td>{$current_cat2}</td>"; 
+0

ありがとう! :) – EHEM

+0

よろしくお願いします!それは私が始まったときにも私を得ました。 TWIGのようなテンプレートエンジンに道路を見下ろしてください。テンプレートエンジンは、定期的な、退屈な、まだエンコーディングURLのような必要なものを行う上で素晴らしいです。 – geeves

関連する問題