<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; ">it will still return "" if it doesn't find anything...<DIV><BR class="khtml-block-placeholder"></DIV><DIV>the extra return was redundant as it will just do nothing once the loop is done.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>you can test this by going to my test page and putting this in the address bar:</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><FONT class="Apple-style-span" size="3"><SPAN class="Apple-style-span" style="font-size: 12px;">javascript:alert(getQueryParamValue("test"));</SPAN></FONT></DIV><DIV><FONT class="Apple-style-span" size="3"><SPAN class="Apple-style-span" style="font-size: 12px;"><BR class="khtml-block-placeholder"></SPAN></FONT></DIV><DIV><FONT class="Apple-style-span" size="3"><SPAN class="Apple-style-span" style="font-size: 12px;">here's the test page url:</SPAN></FONT></DIV><DIV><FONT class="Apple-style-span" size="3"><SPAN class="Apple-style-span" style="font-size: 12px;"><A href="http://dev.deconcept.com/1.4.2_test/swfobject.html">http://dev.deconcept.com/1.4.2_test/swfobject.html</A></SPAN></FONT></DIV><DIV><FONT class="Apple-style-span" size="3"><SPAN class="Apple-style-span" style="font-size: 12px;"><BR class="khtml-block-placeholder"></SPAN></FONT></DIV><DIV><FONT class="Apple-style-span" size="3"><SPAN class="Apple-style-span" style="font-size: 12px;"><BR class="khtml-block-placeholder"></SPAN></FONT></DIV><DIV><FONT class="Apple-style-span" size="3"><SPAN class="Apple-style-span" style="font-size: 12px;">you'll see it alert an empty string.</SPAN></FONT></DIV><DIV><FONT class="Apple-style-span" size="3"><SPAN class="Apple-style-span" style="font-size: 12px;"><BR class="khtml-block-placeholder"></SPAN></FONT></DIV><DIV><FONT class="Apple-style-span" size="3"><SPAN class="Apple-style-span" style="font-size: 12px;"><BR class="khtml-block-placeholder"></SPAN></FONT></DIV><DIV><FONT class="Apple-style-span" size="3"><SPAN class="Apple-style-span" style="font-size: 12px;"><BR class="khtml-block-placeholder"></SPAN></FONT></DIV><DIV><BR><DIV><DIV>On May 31, 2006, at 8:23 PM, Aran Rhee wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"> <DIV dir="ltr" align="left"><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2">Geoff.</FONT></SPAN></DIV> <DIV dir="ltr" align="left"><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2"></FONT></SPAN> </DIV> <DIV dir="ltr" align="left"><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2">Great. </FONT></SPAN><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2">One thing though. I think we still need to have an empty string return if it loops through all the pairs and doesn't find a match. The one return you have at present returns an empty string only if there is no query string found at all. ( need 3 returns in total as below) </FONT></SPAN></DIV> <DIV dir="ltr" align="left"><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2"></FONT></SPAN> </DIV> <DIV dir="ltr" align="left"><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2">deconcept.util = <BR>{<BR> getRequestParameter: function(param) <BR> {<BR>  var q = document.location.search || document.location.hash;<BR>  if(q) <BR>  {<BR>   var pairs = q.substring(1).split("&");<BR>   for (var i=0; i < pairs.length; i++) <BR>   {<BR>    if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) <BR>    {</FONT></SPAN></DIV> <DIV dir="ltr" align="left"><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2">     // return matched key value<BR>     return pairs[i].substring((pairs[i].indexOf("=")+1));<BR>    }<BR>   }</FONT></SPAN></DIV> <DIV dir="ltr" align="left"><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2">   // empty string if no match found</FONT></SPAN></DIV> <DIV dir="ltr" align="left"><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2">   return "";<BR>  }</FONT></SPAN></DIV> <DIV dir="ltr" align="left"><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2">  // empty string if no querystring at all<BR>  return "";<BR> }<BR>}</FONT></SPAN></DIV> <DIV dir="ltr" align="left"><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2"></FONT></SPAN> </DIV> <DIV dir="ltr" align="left"><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2"></FONT></SPAN> </DIV> <DIV dir="ltr" align="left"><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2">Cheers,</FONT></SPAN></DIV> <DIV dir="ltr" align="left"><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2"></FONT></SPAN> </DIV> <DIV dir="ltr" align="left"><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2">Aran</FONT></SPAN></DIV> <DIV dir="ltr" align="left"><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2"></FONT></SPAN> </DIV> <DIV dir="ltr" align="left"><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2"></FONT></SPAN> </DIV> <DIV dir="ltr" align="left"><SPAN class="687085023-31052006"><FONT face="Arial" color="#0000ff" size="2"></FONT></SPAN> </DIV><BR> <BLOCKQUOTE dir="ltr" style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">  <DIV class="OutlookMessageHeader" lang="en-us" dir="ltr" align="left">  <HR tabindex="-1">  <FONT face="Tahoma" size="2"><B>From:</B> swfobject-bounces@lists.deconcept.com   [<A href="mailto:swfobject-bounces@lists.deconcept.com">mailto:swfobject-bounces@lists.deconcept.com</A>] <B>On Behalf Of </B>Geoff   Stearns<BR><B>Sent:</B> Thursday, 1 June 2006 1:40 AM<BR><B>To:</B>   <A href="mailto:swfobject@lists.deconcept.com">swfobject@lists.deconcept.com</A><BR><B>Subject:</B> Re: [SWFObject] Bug in   getQueryParamValue() function. Please fixASAP.<BR></FONT><BR></DIV>  <DIV></DIV>just checked it in, have a look:  <DIV><BR class="khtml-block-placeholder"></DIV>  <DIV><FONT class="Apple-style-span" size="3"><SPAN class="Apple-style-span" style="FONT-SIZE: 12px"><A href="http://svn.deconcept.com/swfobject/trunk/">http://svn.deconcept.com/swfobject/trunk/</A></SPAN></FONT></DIV>  <DIV><FONT class="Apple-style-span" size="3"><SPAN class="Apple-style-span" style="FONT-SIZE: 12px"><BR class="khtml-block-placeholder"></SPAN></FONT></DIV>  <DIV><BR>  <DIV>  <DIV>On May 31, 2006, at 11:29 AM, Geoff Stearns wrote:</DIV><BR class="Apple-interchange-newline">  <BLOCKQUOTE type="cite">nice catch - i like your compact version better than     my fix for it, so if you don't mind i'll roll it into the next version:    <DIV><BR class="khtml-block-placeholder"></DIV>    <DIV>deconcept.util = {</DIV>    <DIV><SPAN class="Apple-tab-span" style="WHITE-SPACE: pre"></SPAN>getRequestParameter: function(param) {</DIV>    <DIV><SPAN class="Apple-tab-span" style="WHITE-SPACE: pre"></SPAN>var q =     document.location.search || document.location.hash;</DIV>    <DIV><SPAN class="Apple-tab-span" style="WHITE-SPACE: pre"></SPAN>if(q) {</DIV>    <DIV><SPAN class="Apple-tab-span" style="WHITE-SPACE: pre"></SPAN>var pairs =     q.substring(1).split("&");</DIV>    <DIV><SPAN class="Apple-tab-span" style="WHITE-SPACE: pre"></SPAN>for (var     i=0; i < pairs.length; i++) {</DIV>    <DIV><SPAN class="Apple-tab-span" style="WHITE-SPACE: pre"></SPAN>if     (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {</DIV>    <DIV><SPAN class="Apple-tab-span" style="WHITE-SPACE: pre"></SPAN>return     pairs[i].substring((pairs[i].indexOf("=")+1));</DIV>    <DIV><SPAN class="Apple-tab-span" style="WHITE-SPACE: pre"></SPAN>}</DIV>    <DIV><SPAN class="Apple-tab-span" style="WHITE-SPACE: pre"></SPAN>}</DIV>    <DIV><SPAN class="Apple-tab-span" style="WHITE-SPACE: pre"></SPAN>}</DIV>    <DIV><SPAN class="Apple-tab-span" style="WHITE-SPACE: pre"></SPAN>return     "";</DIV>    <DIV><SPAN class="Apple-tab-span" style="WHITE-SPACE: pre"></SPAN>}</DIV>    <DIV>}</DIV>    <DIV><BR class="khtml-block-placeholder"></DIV>    <DIV>i'm going to check this into the svn repository in a few mins, i have a     couple other things to test first.</DIV>    <DIV><BR class="khtml-block-placeholder"></DIV>    <DIV><BR class="khtml-block-placeholder"></DIV>    <DIV><BR>    <DIV>    <DIV>On May 31, 2006, at 12:17 AM, Aran Rhee wrote:</DIV><BR class="Apple-interchange-newline">    <BLOCKQUOTE type="cite">      <DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006">Geoff.</SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006"></SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006">I believe I have found a bug in your query params       function with swfObject. The way you are returning values from your search       means that it will return the value of the 1st parameter which contains       the substring of the name passed into getQueryParamValue(), not       necessarily the actual value you want! </SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006"></SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006">e.g. </SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006"></SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006">somepage.html?myEmailName=<A href="mailto:aaaa@aaaa.com">aaaa@aaaa.com</A>&Email=<A title="mailto:somepage.html?myEmailName=aaaa@aaaa.com&Email=xxxx@xxxx.com" href="mailto:somepage.html?myEmailName=aaaa@aaaa.com&Email=xxxx@xxxx.com">xxxx@xxxx.com</A></SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006"></SPAN></FONT><FONT face="Arial" size="2"></FONT></DIV>      <DIV dir="ltr" align="left"><SPAN class="328255203-31052006"><FONT face="Arial" size="2">getQueryParamValue('Email');</FONT></SPAN></DIV>      <DIV dir="ltr" align="left"><SPAN class="328255203-31052006"><FONT face="Arial" size="2"></FONT></SPAN></DIV>      <DIV dir="ltr" align="left"><SPAN class="328255203-31052006"><FONT face="Arial" size="2">will actually return </FONT><A title="mailto:aaaa@aaaa.com" href="mailto:aaaa@aaaa.com"><FONT title="mailto:aaaa@aaaa.com" face="Arial" color="#000000" size="2">aaaa@aaaa.com</FONT></A><FONT face="Arial" size="2">,       </FONT></SPAN><SPAN class="328255203-31052006"><FONT face="Arial" size="2">as       the value as "Email" was found in the 1st param name       string.</FONT></SPAN></DIV>      <DIV dir="ltr" align="left"><SPAN class="328255203-31052006"><FONT face="Arial" size="2"></FONT></SPAN></DIV>      <DIV dir="ltr" align="left"><SPAN class="328255203-31052006"><FONT face="Arial" size="2"></FONT></SPAN></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial"><FONT size="2"><SPAN class="328255203-31052006">I think you need to actually split the params       into an array and do a full text match. I wrote the below as a fix for       myself quickly, and it</SPAN><SPAN class="328255203-31052006"><SPAN class="281261404-31052006">designed to be readable, not</SPAN> compact, but       you get the idea.</SPAN></FONT></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006"></SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006">function getRequestParameter (key)<BR>{<BR>var q       = document.location.search || document.location.hash;<BR>if(q)<BR>{<BR>var       qArray = q.substring(1).split("&");<BR>var len = qArray.length;<BR>for       (i = 0; i<len; i++)<BR>{<BR>var pair = qArray[i];<BR>var splitIndex =       pair.indexOf("=");<BR>var paramName = pair.substring(0,       splitIndex);<BR>var paramValue= pair.substring((splitIndex+1));<BR>if       (paramName == key)<BR>{<BR>return paramValue;<BR>}<BR>}<BR>return       "";<BR>}<BR>return "";<BR>}</SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006"></SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006"></SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006"><SPAN class="281261404-31052006">You could compact       it like:</SPAN></SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006"><SPAN class="281261404-31052006"></SPAN></SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006"><SPAN class="281261404-31052006">function       getRequestParameter (key) {<BR>var q = document.location.search ||       document.location.hash;<BR>if(q) {<BR>var qArray =       q.substring(1).split("&");<BR>for (i = 0; i<qArray.length; i++)       {<BR>if (qArray[i].substring(0, qArray[i].indexOf("=")) == key) return       qArray[i].substring((qArray[i].indexOf("=")+1));<BR>}<BR>return       "";<BR>}<BR>return "";<BR>}</SPAN></SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006"><SPAN class="281261404-31052006"></SPAN></SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006"><SPAN class="281261404-31052006"></SPAN></SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006"></SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006"></SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006">Cheers,</SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006"></SPAN></FONT></DIV>      <DIV dir="ltr" align="left"><FONT face="Arial" size="2"><SPAN class="328255203-31052006">Aran</SPAN></FONT></DIV></DIV>      <DIV style="MARGIN: 0px">_______________________________________________</DIV>      <DIV style="MARGIN: 0px">SWFObject mailing list</DIV>      <DIV style="MARGIN: 0px"><A href="mailto:SWFObject@lists.deconcept.com">SWFObject@lists.deconcept.com</A></DIV>      <DIV style="MARGIN: 0px"><A href="http://lists.deconcept.com/listinfo.cgi/swfobject-deconcept.com">http://lists.deconcept.com/listinfo.cgi/swfobject-deconcept.com</A></DIV></BLOCKQUOTE></DIV><BR></DIV>    <DIV style="MARGIN: 0px">_______________________________________________</DIV>    <DIV style="MARGIN: 0px">SWFObject mailing list</DIV>    <DIV style="MARGIN: 0px"><A href="mailto:SWFObject@lists.deconcept.com">SWFObject@lists.deconcept.com</A></DIV>    <DIV style="MARGIN: 0px"><A href="http://lists.deconcept.com/listinfo.cgi/swfobject-deconcept.com">http://lists.deconcept.com/listinfo.cgi/swfobject-deconcept.com</A></DIV></BLOCKQUOTE></DIV><BR></DIV></BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">_______________________________________________</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">SWFObject mailing list</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="mailto:SWFObject@lists.deconcept.com">SWFObject@lists.deconcept.com</A></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="http://lists.deconcept.com/listinfo.cgi/swfobject-deconcept.com">http://lists.deconcept.com/listinfo.cgi/swfobject-deconcept.com</A></DIV> </BLOCKQUOTE></DIV><BR></DIV></BODY></HTML>