簡體   English   中英

如何將數據傳遞到JavaScript“彈出” div?

[英]How can I pass data to a JavaScript “popup” div?

我在頁面中使用aa href“ Click Here”鏈接,如果我們單擊它將使用javascript打開一個彈出式聯系表單,在這里我需要從a href中獲取值如“ id”到該彈出窗口中,這樣我可以操縱聯系表格,

<a href="javascript:showDiv('Showcase_10','<?=$mainrow[1]?>')">Click Here</a>

javascript功能:

function showDiv(DisplayDiv) { 
if (document.getElementById) { // DOM3 = IE5, NS6 
 if(document.getElementById("simpleMap"))
 {
  document.getElementById("simpleMap").style.visibility = 'hidden';
 }
 document.getElementById(DisplayDiv).style.visibility = 'visible'; 
} 
else { 
if (document.layers) { // Netscape 4 
document.DisplayDiv.visibility = 'visible'; 
} 
else { // IE 4 
document.all.DisplayDiv.style.visibility = 'visible'; 
} 
} 
}

彈出畫面:

<div id="Showcase_10" style="visibility:hidden;">

<div id="fade"></div>
<div class="popup_block">
<div class="popup">
<form action='result.php' onSubmit="return valid()" method="post">
<input type="hidden" name="siteid" value="<? echo $_REQUEST['siteid']; ?>"> <table width="90%" bgcolor="#eff8ff" border="0" style="border:solid; border-width:1px; border-color:#ccc" align="center" cellpadding="2" cellspacing="3" class="small-content">
<tr><td width="6%">&nbsp;</td>
<td colspan="2" align="left" class="subhead">Email Property Details</td>
</tr><tr><td width="6%">&nbsp;</td><td class="cont">Request more information, make an appointment or ask a question. </td>
</tr>
<tr>
<td width="6%">&nbsp;</td>
<td width="94%"><strong>Name</strong><br/>
<input name="name" type="text" class="field1" value=""/>&nbsp;&nbsp;<font color="#FF0000"><strong>*</strong></font></td></tr>
<tr>
<td width="6%">&nbsp;</td>
<td width="94%"><strong>Your Email</strong><br />
<input name="email" type="text" class="field1" id="textfield2" value=''/>&nbsp;&nbsp;<font color="#FF0000"><strong>*</strong></font><br />
<font color="#FF0000" style="font-family: Verdana, sans-serif;font-size : 9pt;" class="form-list">
</font></td>
</tr>
<td colspan="2" align="center"></td>
</tr>
</table>
</form>
</div>
</div>
</div>

用Javascript:

window.open ("path/to/my/new/html/page.html?id=3","mywindow"); 

就像任何其他頁面一樣,get可以用來傳遞所需的數據,您可能只需要先對其進行UrlEncode。

編輯:哦。 您指的是模式對話框,而不是彈出窗口。 那么在這種情況下,由於一旦頁面以這種方式在鏈接中可以顯示ID加載后,數據就需要完全在頁面上,因此您有2個基本選項:1)預加載所有點擊鏈接的所有數據並將其存儲在本地在javascript中,2)將此方法分解為ajax調用,並使用ajax數據更新模式對話框控件。

1)為了將其存儲在javascript中,您可以輕松地為自己的偽類創建原型,以容納每一行的所有數據,從而允許您通過id將它們存儲在關聯數組中。

function myDataItem(id, field1) {
    this.id = id;
    this.field1 = field1;
    this.field2 = "";      // initialize a property called field2
    this.getInfo = getDataItemIno;
}

function getDataItemIno() {
    return this.field1 + ' ' + this.field2;
}

var items;
items[3] = new myDataItem(3, "datastring");

2)ajax解決方案會稍微復雜一些,我建議使用jQuery來構建/處理所有這些方法,以使其簡化和簡單。

最簡單的方法是在彈出窗口的URL中傳遞ID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM