Although this is a client side issue, I am also posting to asp.general
in case there is someway to do this only server side (which I would
prefer).
Here's my form:
%>"
<% for i - 0 to 4%>
Header:
onblur="function(this)">
Description:
<% next%>
When the data gets returned it's something like:
header: "socks, shoes, pizza, cats, dogs"
description: "good for feet, wear with socks, cheese only, have lots
of hair, bark a lot"
Problem comes when the description or header have a comma. I need a
little javascript that will replace the comma with a semicolon client
side before it gets to
the server, preferably as they leave the field.
Any help with this would be much appreciated.
--
Adrienne Boswell at work
Administrator nextBlock.com
http://atlas.nextblock.com/files/
Please respond to the group so others can share
Re: Replace commas in values in an array
am 06.04.2007 00:08:48 von exjxw.hannivoort
Adrienne Boswell wrote on 06 apr 2007 in
microsoft.public.inetserver.asp.general:
> Although this is a client side issue, I am also posting to asp.general
> in case there is someway to do this only server side (which I would
> prefer).
[...]
> Problem comes when the description or header have a comma. I need a
> little javascript that will replace the comma with a semicolon client
> side before it gets to the server, preferably as they leave the field.
I doubt you can do anything serverside before it gets to the server,
Adrienne.
Clientside it is simple, just do a regex global replace.
--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
Re: Replace commas in values in an array
am 06.04.2007 00:14:42 von Dave Anderson
Adrienne Boswell wrote:
> Problem comes when the description or header have a comma. I need
> a little javascript that will replace the comma with a semicolon
> client side before it gets to the server, preferably as they leave
> the field.
Assuming from your example that you want the expression for your onblur
handler, here is one way:
Unsolicited commercial email will be read at a cost of $500 per message. Use
of this email address implies consent to these terms.
Re: Replace commas in values in an array
am 06.04.2007 01:30:13 von Adrienne Boswell
Dave Anderson wote:
> Adrienne Boswell wrote:
> > Problem comes when the description or header have a comma. I need
> > a little javascript that will replace the comma with a semicolon
> > client side before it gets to the server, preferably as they leave
> > the field.
>
> Assuming from your example that you want the expression for your onblur
> handler, here is one way:
>
> onblur="this.value=this.value.split(',').join(';')"
>
> Another:
>
> onblur="this.value=this.value.replace(/,/g,';')"
>
>
>
Dave, you're an officer, a genteman and a fine judge of women! Thanks
so much - works perfectly!
--
Adrienne Boswell at work
Administrator nextBlock.com
http://atlas.nextblock.com/files/
Please respond to the group so others can share
Re: Replace commas in values in an array
am 06.04.2007 04:37:23 von RobG
On Apr 6, 8:02 am, "Adrienne Boswell" wrote:
> Although this is a client side issue,
It is a server issue.
> I am also posting to asp.general
> in case there is someway to do this only server side (which I would
> prefer).
>
> Here's my form:
>
>
> %>"
> <% for i - 0 to 4%>
> Header:
> onblur="function(this)">
> Description:
> <% next%>
>
>
Don't post server code to a group concerned with client scripting,
post whatever it is that the client gets. However you generate that
is up to you.
> When the data gets returned it's something like:
> header: "socks, shoes, pizza, cats, dogs"
> description: "good for feet, wear with socks, cheese only, have lots
> of hair, bark a lot"
Tell your users not to use commas and use normal validation
techniques.
> Problem comes when the description or header have a comma. I need a
> little javascript that will replace the comma with a semicolon client
> side before it gets to
> the server, preferably as they leave the field.
Client scripting is unreliable, deal with it at the server.
For luck, you can use something like:
though you are better to do the replace onsubmit when you do the rest
of your client-side validation, users will likely get confused seeing
their commas turn into semi-colons after they leave the field. And if
scripting is disabled, not available or fails, you will still get
commas in the data.
--
Rob
Re: Replace commas in values in an array
am 06.04.2007 15:17:08 von Dave Anderson
"Adrienne Boswell" wrote:
> Dave, you're an officer, a genteman and a fine judge of women!
> Thanks so much - works perfectly!
I am glad to hear it. However...
....I feel I should echo RobG here in warning that security (and this
includes data integrity) really does belong on the server. So, if you are
inclined to agree, perhaps you would consider using this approach over on
the server side.
JScript ASP example:
(Request.Form("description").Item || "").replace(/,/g,";")
Unsolicited commercial email will be read at a cost of $500 per message. Use
of this email address implies consent to these terms.
Re: Replace commas in values in an array
am 06.04.2007 17:32:49 von brunascle.maps
On Apr 5, 6:02 pm, "Adrienne Boswell" wrote:
> Although this is a client side issue, I am also posting to asp.general
> in case there is someway to do this only server side (which I would
> prefer).
>
> Here's my form:
>
>
> %>"
> <% for i - 0 to 4%>
> Header:
> onblur="function(this)">
> Description:
> <% next%>
>
>
>
> When the data gets returned it's something like:
> header: "socks, shoes, pizza, cats, dogs"
> description: "good for feet, wear with socks, cheese only, have lots
> of hair, bark a lot"
>
> Problem comes when the description or header have a comma. I need a
> little javascript that will replace the comma with a semicolon client
> side before it gets to
> the server, preferably as they leave the field.
>
> Any help with this would be much appreciated.
>
> --
> Adrienne Boswell at work
> Administrator nextBlock.com
> http://atlas.nextblock.com/files/
> Please respond to the group so others can share
you could do it in javascript using regular expression. i believe
something like this would work:
i'd probably go about it a different way, though. i'd give each
tag a unique name, so you dont have to worry about the values
being squashing into one value.
Re: Replace commas in values in an array
am 06.04.2007 18:06:29 von Dave Anderson
brunascle.maps@gmail.com wrote:
> you could do it in javascript using regular expression. i believe
> something like this would work:
>
> var someStringVariable = "asdfasd asdf asdfa, asdfasdf asdksdas,
> asdfas";
> someStringVariable = someStringVariable.replace(/,/, ";");
Don't just believe it, try it. Then you will notice that you need a global
flag.
--
Dave Anderson
Unsolicited commercial email will be read at a cost of $500 per message. Use
of this email address implies consent to these terms.
Re: Replace commas in values in an array
am 06.04.2007 19:29:28 von Adrienne Boswell
Gazing into my crystal ball I observed "Dave Anderson" writing in
news:131ci31sb1olu61@corp.supernews.com:
> "Adrienne Boswell" wrote:
>> Dave, you're an officer, a genteman and a fine judge of women!
>> Thanks so much - works perfectly!
>
> I am glad to hear it. However...
>
> ...I feel I should echo RobG here in warning that security (and this
> includes data integrity) really does belong on the server. So, if you
> are inclined to agree, perhaps you would consider using this approach
> over on the server side.
>
> JScript ASP example:
> (Request.Form("description").Item || "").replace(/,/g,";")
>
>
> VBScript candidate:
> Join(Split(Request.Form("description") & "",","),";")
>
>
>
I don't think that's going to work, here's why:
Let's say that request.form("numbers") = "1, 2, 3, 4" and request.form
("description") = "eggs, bacon, milk, butter"
numbersarr = split(request.form("numbers"))
descarr = split(request.form("description"),",")
for i = 0 to ubound(numbersarr)
response.write numbersarr(i) & "=" & descarr(i)
next
That works if the arrays are both the same size. If request.form
("description") = "eggs, milk, butter, sugar, flour" then you've got a
problem.
The form I am making has 10 rows of 5 items each, so that's why I'm doing
it client side.
--
Adrienne Boswell at Home
Arbpen Web Site Design Services
http://www.cavalcade-of-coding.info
Please respond to the group so others can share
Re: Replace commas in values in an array
am 06.04.2007 19:51:20 von exjxw.hannivoort
Adrienne Boswell wrote on 06 apr 2007 in
microsoft.public.inetserver.asp.general:
> I don't think that's going to work, here's why:
>
> Let's say that request.form("numbers") = "1, 2, 3, 4" and request.form
> ("description") = "eggs, bacon, milk, butter"
>
>
> numbersarr = split(request.form("numbers"))
if ubound(numbersarr)>=ubound(descarr) then
max = ubound(descarr)
else
max = ubound(numbersarr)
end if
for i = 0 to max - 1
....
> for i = 0 to ubound(numbersarr)
> response.write numbersarr(i) & "=" & descarr(i)
> next
>
> That works if the arrays are both the same size. If request.form
> ("description") = "eggs, milk, butter, sugar, flour" then you've got a
> problem.
See serverside solution above.
> The form I am making has 10 rows of 5 items each, so that's why I'm
> doing it client side.
??
--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
Re: Replace commas in values in an array
am 07.04.2007 20:54:02 von Adrienne Boswell
Gazing into my crystal ball I observed "Evertjan." writing in news:Xns990AC9A31F8B5eejj99@
194.109.133.242:
> Adrienne Boswell wrote on 06 apr 2007 in
> microsoft.public.inetserver.asp.general:
>
>
>> I don't think that's going to work, here's why:
>>
>> Let's say that request.form("numbers") = "1, 2, 3, 4" and request.form
>> ("description") = "eggs, bacon, milk, butter"
>>
>>
>> numbersarr = split(request.form("numbers"))
>
> numbersarr = split(request.form("numbers"),",")
I know, my fingers were going too fast.
>
>> descarr = split(request.form("description"),",")
>
> if ubound(numbersarr)>=ubound(descarr) then
> max = ubound(descarr)
> else
> max = ubound(numbersarr)
> end if
> for i = 0 to max - 1
> ....
>
>> for i = 0 to ubound(numbersarr)
>> response.write numbersarr(i) & "=" & descarr(i)
>> next
>>
>> That works if the arrays are both the same size. If request.form
>> ("description") = "eggs, milk, butter, sugar, flour" then you've got a
>> problem.
>
> See serverside solution above.
>
>> The form I am making has 10 rows of 5 items each, so that's why I'm
>> doing it client side.
>
> ??
>
Like this:
<% for i = 0 to 10%>
type="text" name="numbers" id="numbers<%=i%>">
<% next%>
Without entering anything, but submitting the values would be:
desc = ,,,,,,,,,
numbers = ,,,,,,,,,
Multiple values for the same form element are separated by commas, ergo
the problem. If one of the values being returned has a comma in it, then
it will throw the count off, hence the need for the client side change.
--
Adrienne Boswell at Home
Arbpen Web Site Design Services
http://www.cavalcade-of-coding.info
Please respond to the group so others can share
Re: Replace commas in values in an array
am 07.04.2007 21:29:43 von exjxw.hannivoort
Adrienne Boswell wrote on 07 apr 2007 in
microsoft.public.inetserver.asp.general:
[...]
>>> The form I am making has 10 rows of 5 items each, so that's why I'm
>>> doing it client side.
>>
>> ??
>>
>
> Like this:
> <% for i = 0 to 10 %>
11 times ;-)
>
>
> type="text" name="numbers" id="numbers<%=i%>">
>
> <% next%>
>
>
>
> Without entering anything, but submitting the values would be:
> desc = ,,,,,,,,,
> numbers = ,,,,,,,,,
This responds: 5, independent of any filling of the fields at submission,
with or without commas.
so clearly the request.form("desc") is NOT a string but a collection,
in test1 only converted to a string by response.write.
> ergo the problem. If one of the values being returned has a comma in
> it, then it will throw the count off, hence the need for the client
> side change.
Now we know it is a collection, the solution is near:
========= test3.asp ===============
<%
for i=1 to request.form("desc").count
response.write i & ": " & request.form("desc")(i) & " "
next
%>
================================
The commas do not interfere with the count,
in this fully serverside solution.
--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
Re: Replace commas in values in an array
am 08.04.2007 01:24:52 von Dave Anderson
"Adrienne Boswell" wrote:
> <% for i = 0 to 10%>
>
>
> type="text" name="numbers" id="numbers<%=i%>">
>
> <% next%>
Let me make something clear that you may not have considered: the client is
under no obligation to keep those name-value pairs in order -- and
frequently sends them in a different order than they appear. That means this
approach will fail whether you change commas to semicolons or not.
A much better approach is to uniquely *name* the elements:
<% For i = 0 To 10 %>
<% Next %>
You can then examine the form contents like this:
For i = 0 To 10
DoStuffWith(Request.Form("desc" & i))
Next
--
Dave Anderson
Unsolicited commercial email will be read at a cost of $500 per message. Use
of this email address implies consent to these terms.
Re: Replace commas in values in an array
am 09.04.2007 07:01:29 von scripts.contact
Adrienne Boswell wrote:
> When the data gets returned it's something like:
> header: "socks, shoes, pizza, cats, dogs"
> description: "good for feet, wear with socks, cheese only, have lots
> of hair, bark a lot"
>
> Problem comes when the description or header have a comma. I need a
> little javascript that will replace the comma with a semicolon
someVar = someVar.replace(/,/g,';')
Re: Replace commas in values in an array
am 10.04.2007 07:53:21 von Pete
, = ,
On Apr 6, 6:02 am, "Adrienne Boswell" wrote:
> Although this is a client side issue, I am also posting to asp.general
> in case there is someway to do this only server side (which I would
> prefer).
>
> Here's my form:
>
>
> %>"
> <% for i - 0 to 4%>
> Header:
> onblur="function(this)">
> Description:
> <% next%>
>
>
>
> When the data gets returned it's something like:
> header: "socks, shoes, pizza, cats, dogs"
> description: "good for feet, wear with socks, cheese only, have lots
> of hair, bark a lot"
>
> Problem comes when the description or header have a comma. I need a
> little javascript that will replace the comma with a semicolon client
> side before it gets to
> the server, preferably as they leave the field.
>
> Any help with this would be much appreciated.
>
> --
> Adrienne Boswell at work
> Administrator nextBlock.com
> http://atlas.nextblock.com/files/
> Please respond to the group so others can share