close ad
 
Important WebAssist Announcement
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

Populate List from Array not enabled

Thread began 3/14/2010 11:42 am by evansg7124312885 | Last modified 9/05/2010 9:07 am by CraigR | 3591 views | 9 replies |

evansg7124312885

Populate List from Array not enabled

Problem started with an existing form, went through Getting Started Guide, all went as expected up to add behavior Populate List from Array. When the WA Dynamic Drop Down category is selected, the Populate option is grayed out. I thought it may be something with my form so I started a new page with a blank form, ran the steps again and had the same problem. I have version 2.7.4 installed; using Dreamweaver CS3.

One item that appeared strange is that when the Create Dynamic Array behavior is applied, no behaviors appear in the behaviors list showing this action by name. Is this normal? I have checked the database for a possible mismatch of text and integer and have not found a possible problem between the two tables used.

Second question: I would like these lists set up to initially select a value equal to; this value will come from a different table, but should be equal to to the list options. Will this cause errors with the Dynamic Dropdown behaviors?

Sign in to reply to this post

Jason ByrnesWebAssist

for the populate list from array behavior to be available, the following criteria must be met:

1) Create a Parent list
2) Create a child list
3) Create a recordset
4) Add the Create Dynamic List server behavior.


In Dreamweaver, there is a behaviors panel and a server behaviors panel.
The behaviors panel will show client side javascript behaviors that have applied to the page, the Server Behaviors will show the dynamic server side behaviors. The Create Dynamic Array behavior is a server behavior and will only be listed on the server behaviors panel.

If you are using a recordset to preselect a value for the parent list, you should also add the populate list from array behavior to set the chilld list to the onLoad event of the Body tag.

Sign in to reply to this post

Dennis

What was the outcome of this? I am having the same issue.

Followed the Getting Started with... guide step-by-step up to the Apply Dynamic Dropdowns behaviors - Creating the Dynamic Array (the 4 steps Jason lists above, completed successfully). Following this step and clicking OK dosen't appear to do anything, no additional item is added to the Server Behavior list, thus Populate List from Array is grayed out in the Behaviors tab.

Dennis

Sign in to reply to this post

steven348539

I am as well. I can find in the code where it inserts code for the extension, directly under the <title> tags, but it is not listing the the behavior under "Sever Behavior" I had to move one of my Recordsets with the other ones because the program wasn't seeing it as it duplicated some code, which made things disappear form the behavior panel, but I can't find out why it's doing it with the DD extension.

php:
<title>Midnight Oasis</title>

<?php
if ($row_rsStates)     {
  echo 
"<SC" "RIPT>\n";
  echo 
"var WAJA = new Array();\n";

  
$oldmainid 0;
  
$newmainid $row_rsStates["StateCountryID"];
  if (
$oldmainid == $newmainid)    {
    
$oldmainid "";
  }
  
$n 0;
  while (
$row_rsStates)     {
    if (
$oldmainid != $newmainid)     {
      echo 
"WAJA[".$n."] = new Array();\n";
      echo 
"WAJA[".$n."][0] = '".WA_DD_Replace($newmainid)."';\n";
      
$m 1;
    }

    echo 
"WAJA[".$n."][".$m."] = new Array();\n";
    echo 
"WAJA[".$n."][".$m."][0] = "."'".WA_DD_Replace($row_rsStates["StateID"])."'".";\n";
    echo 
"WAJA[".$n."][".$m."][1] = "."'".WA_DD_Replace($row_rsStates["StateName"])."'".";\n";

    
$m++;
    if (
$oldmainid == 0)      {
      
$oldmainid $newmainid;
    }
    
$oldmainid $newmainid;
    
$row_rsStates mysql_fetch_assoc($rsStates);
    if (
$row_rsStates)     {
      
$newmainid $row_rsStates["StateCountryID"];
    }
    if (
$oldmainid != $newmainid)     {
      
$n++;
    }
  }

  echo 
"var rsStates_WAJA = WAJA;\n";
  echo 
"WAJA = null;\n";
  echo 
"</SC" "RIPT>\n";
}
function 
WA_DD_Replace($startStr)  {
  
$startStr str_replace("'""|WA|"$startStr);
  
$startStr str_replace("\\""\\\\"$startStr);
  
$startStr preg_replace("/[\r\n]{1,}/"" "$startStr);
  return 
$startStr;
}
?>

<!-- InstanceEndEditable -->



Various checkout files can be found showthread.php?t=11798 as I am having more than 1 issue that I'm trying to get responses to.

EDIT: Added link to other issue/files, added code & screen shot showing that the behavior is not in the server behavior list.

Sign in to reply to this post

Jason ByrnesWebAssist

can you try saving the file, closing Dreamweaver, deleting the Dreamweaver cache file from the users configuration folder, then opening the page in Dreamweaver again.

Sign in to reply to this post

steven348539

I had previously tried this before posting here and just tried it again. It has not added it to the Server Behavior list.

Sign in to reply to this post

Jason ByrnesWebAssist

I have created a support ticket so we can look into this issue further.

To view and edit your support ticket, please log into your support history:
login.php

Sign in to reply to this post

gilbertk356777

Any fix yet

I have been waiting for a fix for this but nothing. Anyone get it fixed. I even tried going back to an older version.

Sign in to reply to this post

Jason ByrnesWebAssist

in a support ticket, we discovere the problem was being caused when using Dynamic Drop Downs on a template.

The Create Dydnamic array behavior was being created inside the Title editabdel region:
<!-- InstanceBeginEditable name="doctitle" -->
<title>Page Name - <?php echo($WAGLOBAL_Site_Name); ?></title>
<?php
if ($row_Recordset1) {
echo "<SC" . "RIPT>\n";
echo "var WAJA = new Array();\n";

$oldmainid = 0;
$newmainid = $row_Recordset1["ProductID"];
if ($oldmainid == $newmainid) {
$oldmainid = "";
}
$n = 0;
while ($row_Recordset1) {
if ($oldmainid != $newmainid) {
echo "WAJA[".$n."] = new Array();\n";
echo "WAJA[".$n."][0] = '".WA_DD_Replace($newmainid)."';\n";
$m = 1;
}

echo "WAJA[".$n."][".$m."] = new Array();\n";
echo "WAJA[".$n."][".$m."][0] = "."'".WA_DD_Replace($row_Recordset1["ProductID"])."'".";\n";
echo "WAJA[".$n."][".$m."][1] = "."'".WA_DD_Replace($row_Recordset1["ProductID"])."'".";\n";

$m++;
if ($oldmainid == 0) {
$oldmainid = $newmainid;
}
$oldmainid = $newmainid;
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
if ($row_Recordset1) {
$newmainid = $row_Recordset1["ProductID"];
}
if ($oldmainid != $newmainid) {
$n++;
}
}

echo "var Recordset1_WAJA = WAJA;\n";
echo "WAJA = null;\n";
echo "</SC" . "RIPT>\n";
}
function WA_DD_Replace($startStr) {
$startStr = str_replace("'", "|WA|", $startStr);
$startStr = str_replace("\\", "\\\\", $startStr);
$startStr = preg_replace("/[\r\n]{1,}/", " ", $startStr);
return $startStr;
}
?>
<!-- InstanceEndEditable -->



the work around to the problem we discovered was to move the Create Duynamic array code to be before the doctype tag:
<?php
if ($row_Recordset1) {
echo "<SC" . "RIPT>\n";
echo "var WAJA = new Array();\n";

$oldmainid = 0;
$newmainid = $row_Recordset1["ProductID"];
if ($oldmainid == $newmainid) {
$oldmainid = "";
}
$n = 0;
while ($row_Recordset1) {
if ($oldmainid != $newmainid) {
echo "WAJA[".$n."] = new Array();\n";
echo "WAJA[".$n."][0] = '".WA_DD_Replace($newmainid)."';\n";
$m = 1;
}

echo "WAJA[".$n."][".$m."] = new Array();\n";
echo "WAJA[".$n."][".$m."][0] = "."'".WA_DD_Replace($row_Recordset1["ProductID"])."'".";\n";
echo "WAJA[".$n."][".$m."][1] = "."'".WA_DD_Replace($row_Recordset1["ProductID"])."'".";\n";

$m++;
if ($oldmainid == 0) {
$oldmainid = $newmainid;
}
$oldmainid = $newmainid;
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
if ($row_Recordset1) {
$newmainid = $row_Recordset1["ProductID"];
}
if ($oldmainid != $newmainid) {
$n++;
}
}

echo "var Recordset1_WAJA = WAJA;\n";
echo "WAJA = null;\n";
echo "</SC" . "RIPT>\n";
}
function WA_DD_Replace($startStr) {
$startStr = str_replace("'", "|WA|", $startStr);
$startStr = str_replace("\\", "\\\\", $startStr);
$startStr = preg_replace("/[\r\n]{1,}/", " ", $startStr);
return $startStr;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">



then once you where finished getting dynamic drop downs to work, move it back to the original location.

Sign in to reply to this post

CraigRBeta Tester

About to say something which appeared pertinent, and then realised it wasn't !!

Sign in to reply to this post
loading

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...