11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour

comment rendre le code javascript généré automatiquement par le serveur asp.net visible par une fancybox (inline) ou dans son javascipt ?

ex de code généré par asp.net (nécessaire pour les contrôles asp.net) :

<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['ctl01'];
if (!theForm) {
theForm = document.ctl01;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>

mon javascript fancybox :

$("#fancy_auto").fancybox({
'transitionIn': 'none',
'transitionOut': 'none'
}).trigger("click");


merci d'avance
Bonjour,

À vue de nez ta «fancybox» est un contenu qui appartient à la page au même titre que ton script JS généré par ASP.Net. Donc je vois pas d'obstacle majeur (comme ce pourrait être le cas avec une IFRAME).

Ceci dit, «rendre le code javascript (...) visible par une fancybox»... j'ai pas la moindre fichue idée de ce que ça peut vouloir dire.
c'est bien le problème !

dans ma page générée par le serveur asp.net, j'ai :

ce que j'ai codé
<script type="text/javascript">
jQuery(document).ready(function() {
$("#fancy_auto").fancybox({
...
}).trigger("click");
}); // end ready
</script>


ce que Asp.net code

//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}


le contrôle dans le div de la fancybox et l'événement généré automatiquement par asp.net

<select name="webPanier$BasketList$ctl02$ddlQuantite" onchange="javascript:setTimeout('__doPostBack(\'webPanier$BasketList$ctl02$ddlQuantite\',\'\')', 0)" id="webPanier_BasketList_ctl02_ddlQuantite" style="width:45px;">
<option selected="selected" value="1">1</option>
<option value="2">2</option>
....
</select>

EVENTTARGET et EVENTARGUMENT sont des input masqués (générés par asp.net) pour soumettre les données.

le tout s'affiche correctement mais le javascript dans le onChange n'est pas déclenché.
c'est pourquoi, j'imagine qu'il faut :
- soit rajouté quelque chose dans le javascript "fancybox",mais quoi ?
- soit surchargé l'évenement "onChange" pour qu'il aille dans le javascript "fancybox" et aussi réécrire le javascript "asp.net" dans le "fancybox"
- soit une autre idée ??

merci d'avance