Ajax Talk - Asynchronous javascript and xml discussion board
 FAQ   Search    Usergroups      Register   Profile   Check your messages   Log in 
Signup now to enjoy a range of free membership advantages !!
Ajax Talk - Moderators Wanted
Problem with displaying widgets after AJAX request

 
Post new topic   Reply to topic    Ajaxtalk.com Forum Index -> PHP
View previous topic :: View next topic  
Author Message
fdgloworm
New one
New one


Joined: 19 Aug 2008
Posts: 1
Location: Indianapolis, IN

PostPosted: Tue Aug 19, 2008 8:25 pm    Post subject: Problem with displaying widgets after AJAX request Reply with quote

Hello everyone. I'm hoping this forum can help me out. I am teaching myself PHP, AJAX, Javascript and MySQL programming and have been at it for over a year off and on, but just started with AJAX.

I have borrowed many books from the library to answer my questions, but some questions the books just don't cover.

Ok - some background on the platform.
I am using Dreamweaver 8 with MX Kollection 3 and MX AJAX toolbox to put my code together. I use the GUI as often as I code by hand.
I use WampServer to test it all, and a professional hosting company for live server.

My problem is I have a PHP page(internal_request.php) that holds multiple forms in a switch:case setup. This page is displayed by the internal_request.js file which instantiates and runs the AJAX requests. The AJAX requests are called from one of two pages (createAgenda.php and editAgenda.php). My problem comes when using the MX Kollection Datepicker widget - it will not display the widget when the widget is included in the internal_request.php file (my guess is becuase it is called by the AJAX in the .js file) but it displays fine in the portion of the pages not sent by AJAX. I have included all the includes, js files, etc that I can in both the calling file and the internal_request.php file. Any ideas?

I hope these snippets help:

Snippet of internal_request.php without the switch:case - that works like a charm:
Code:

This is a test for the datepicker without using a form tag. <br>
            <input name="testDatepicker" id="testDatepicker" value="" size="12" maxlength="10" wdg:subtype="Calendar" wdg:mask="<?php echo $KT_screen_date_format; ?>" wdg:type="widget" wdg:mondayfirst="true" wdg:singleclick="false" wdg:restricttomask="yes" wdg:readonly="true" />


Here is the snippet of code from one of the calling pages, editAgenda.php:
Code:

<div id="content"> 
           <?php if (!isset($_GET['p_key'])) {?>
            <div id="noedit" align="center">&nbsp;
            There seems to be an error in retrieving your agenda.  Please return to the agenda list and try again.  If this error continues, please contact the application administrator.
            </div>
            <?php } else {?>
            <div id="editAgenda" align="center">
             <form id="agenda" name="agenda" method="post" action="">
            <input type="hidden" name="courseType" id="courseType" value="<?php echo $rseditType->Fields('type'); ?>">
            <input type="hidden" name"p_key" id="p_key" value="<?php echo $_GET['p_key']; ?>">
               <?php
            echo "<script language=javascript>editForms()</script>";
            ?>
         <div id="form_cage" align="center">
            <br>
         </div>
         <input name="updateAgenda" type="submit" id="updateAgenda" value="Update">
         </form>
            </div>
      <?php } ?>
    </div>


Here is the complete internal_application.js file:


Code:

/* The following function creates an XMLHttpRequest object... */

function createRequestObject(){
   var request_o; //declare the variable to hold the object.
   var browser = navigator.appName; //find the browser name
   if(browser == "Microsoft Internet Explorer"){
      /* Create the object using MSIE's method */
      request_o = new ActiveXObject("Microsoft.XMLHTTP");
   }else{
      /* Create the object using other browser's method */
      request_o = new XMLHttpRequest();
   }
   return request_o; //return the object
}

/* You can get more specific with version information by using
   parseInt(navigator.appVersion)
   Which will extract an integer value containing the version
   of the browser being used.
*/
/* The variable http will hold our new XMLHttpRequest object. */
var http = createRequestObject();

/* Function called to get the product categories list */
function getForms(){
   /* Create the request. The first argument to the open function is the method (POST/GET),
      and the second argument is the url...
      document contains references to all items on the page
      We can reference document.form_category_select.select_category_select and we will       
      be referencing the dropdown list. The selectedIndex property will give us the
      index of the selected item.
   */
   http.open('post', 'internal_request.php',true);
      var params ="courseType=" + document.agenda.courseType.value + "&courseDate=" + document.agenda.courseDate.value + "&startTime=" +document.agenda.startTime.value + "&endTime=" + document.agenda.endTime.value + "&selectLocation=" + document.agenda.selectLocation.value + "&maxParticipants=" + document.agenda.maxParticipants.value;
   /* Define a function to call once a response has been received. This will be our
      handleProductCategories function that we define below. */
      /*Changing options to attempt a POST rather than a GET */
      //Send the proper header information along with the request
         http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
         http.setRequestHeader("Content-length", params.length);
         http.setRequestHeader("Connection", "close");

   http.onreadystatechange = handleForms;
   /* Send the data. We use something other than null when we are sending using the POST
      method. */
   http.send(params);
}

/* Function called to get the product categories list */
function editForms(){
   /* Create the request. The first argument to the open function is the method (POST/GET),
      and the second argument is the url...
      document contains references to all items on the page
      We can reference document.form_category_select.select_category_select and we will       
      be referencing the dropdown list. The selectedIndex property will give us the
      index of the selected item.
   */
   http.open('post', 'internal_request.php',true);
      var params ="courseType=" + document.agenda.courseType.value + "&p_key=" + document.agenda.p_key.value;
   /* Define a function to call once a response has been received. This will be our
      handleProductCategories function that we define below. */
      /*Changing options to attempt a POST rather than a GET */
      //Send the proper header information along with the request
         http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
         http.setRequestHeader("Content-length", params.length);
         http.setRequestHeader("Connection", "close");

   http.onreadystatechange = handleForms;
   /* Send the data. We use something other than null when we are sending using the POST
      method. */
   http.send(params);
}

/* Function called to handle the list that was returned from the internal_request.php file.. */
function handleForms(){
   /* Make sure that the transaction has finished. The XMLHttpRequest object
      has a property called readyState with several states:
      0: Uninitialized
      1: Loading
      2: Loaded
      3: Interactive
      4: Finished */
   if(http.readyState == 4){ //Finished loading the response
      /* We have got the response from the server-side script,
         let's see just what it was. using the responseText property of
         the XMLHttpRequest object. */
      var response = http.responseText;
      /* And now we want to change the product_categories <div> content.
         we do this using an ability to get/change the content of a page element
         that we can find: innerHTML. */
      document.getElementById('form_cage').innerHTML = response;
   }
}


And then here is the list of includes and javascript files. I put them in all the pages as a troubleshooting method to see if any one of them would work once it had all the includes and files.
Code:

require_once('Connections/chplibc_erti.php');
require_once('includes/wdg/WDG.php');
require_once('includes/functions.inc.php');
require_once('includes/common/KT_common.php');
require_once('includes/tng/tNG.inc.php');
<script type="text/javascript" src="includes/common/js/sigslot_core.js"></script>
<script src="includes/common/js/base.js" type="text/javascript"></script>
<script src="includes/common/js/utility.js" type="text/javascript"></script>
<script type="text/javascript" src="includes/wdg/classes/MXWidgets.js"></script>
<script type="text/javascript" src="includes/wdg/classes/MXWidgets.js.php"></script>
<script type="text/javascript" src="includes/wdg/classes/Calendar.js"></script>
<script type="text/javascript" src="includes/wdg/classes/SmartDate.js"></script>
<script type="text/javascript" src="includes/wdg/calendar/calendar_stripped.js"></script>
<script type="text/javascript" src="includes/wdg/calendar/calendar-setup_stripped.js"></script>
<script src="includes/resources/calendar.js"></script>
<link href="includes/skins/mxkollection3.css" rel="stylesheet" type="text/css" media="all" />
<script language="javascript" type="text/javascript" src="includes/jaxon/js/internal_request.js"></script>


Of course all of the includes are between <head> and </head>.

Can anyone help me out? I just want the widget to appear! Smile
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Ajaxtalk.com Forum Index -> PHP All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
 Advertisements
 XML & Copyright Notice 
    


Powered by phpBB © 2001, 2005 phpBB Group

What is according to Wikipedia: Ajax Web2.0 XML E4X


Link to our site:

  


del.icio.us digg spurl wists simpy newsvine blinklist furl blogmarks yahoo! myweb smarking ma.gnolia segnalo reddit fark technorati cosmos


Normal Bookmark


Partner Button Links:
Codecrunch.com: Webmaster Tutorials    One Ajax


Partner Text Links:
quomon | web20log | ajaxmatters | tableless | 456bereastreet | music charts | gift ideas | competitions | free xbox 360 | link trade ?


Credits:
it consultancy & project management lead generation zoekmachine optimalisatie steal these buttons seo expert