Как передать данные в «всплывающий» раздел JavaScript? - PullRequest
0 голосов
/ 19 августа 2010

Я использую ссылку «Нажмите здесь» на странице, и если мы щелкнем по ней, откроется всплывающая контактная форма с использованием javascript, здесь мне нужно получить значение, например «id», во всплывающем окне из раздела href.чтобы я мог манипулировать контактной формой,

<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>

Ответы [ 2 ]

3 голосов
/ 19 августа 2010

В Javascript:

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

Как и на любой другой странице, метод get может использоваться для передачи необходимых вам данных, вам может понадобиться сначала UrlEncode его.

РЕДАКТИРОВАТЬ:Ой.Вы имеете в виду модальное диалоговое окно, а не всплывающее окно.В таком случае, поскольку данные должны будут полностью отображаться на странице после того, как страница загружается таким образом, что идентификатор может присутствовать в ссылке, у вас есть 2 основных варианта: 1) предварительно загрузить все данные для всех ссылок кликов и сохранить их локальнов javascript, 2) разбить этот метод на вызов ajax и обновить модальные диалоговые элементы управления с данными ajax.

1) Для хранения его в javascript, вы можете легко создать прототип вашего собственного псевдокласса для хранения всехданные для каждой строки, что позволяет хранить их в ассоциативном массиве по идентификатору.

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 для сборки / обработки всехэтих методов для упрощения и упрощения.

1 голос
/ 19 августа 2010

Самый простой способ - передать идентификатор в URL всплывающего окна

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...