Jump to content


Photo

making a dynamic textarea name


  • Please log in to reply
4 replies to this topic

#1 vinnieza

vinnieza
  • New Members
  • Pip
  • Newbie
  • 6 posts

Posted 03 July 2006 - 01:40 PM

Hi, sorry i'm a major newbie at javascript. Anyway, my question:

I have a form called frmProfile, a textarea called article and a button with an onclick event set to addtext(this.form)

I have this function:

addtext(form){
}

With this piece of javascript in it:

var Article = form.article.value;

to get what is in the text area into a variable

The problem is this, i want to use this code for multiple forms on different pages, however all my text areas have different names. Now i was wondering is there anyway to add a variable to the js code so that it's easy to change all the times i refer to form.article.value?

I tried using var textareaName = "article"; and then i could change it on each of my pages and change the js code to something like:

var Article = form.textareaName.value;

But you can't do that, well it doesn't work, guessing it's because the code does not realize it's suppose to be a variable and thinks that's the name of the textarea. Is there a sort of operator that tells it that it's a variable and not the name.

Thanks :)

sorry about the title wasn't sure of how to describe my problem


* no questions asked *

#2 nogray

nogray
  • Members
  • PipPipPip
  • Advanced Member
  • 930 posts
  • LocationSan Francisco CA

Posted 03 July 2006 - 04:40 PM

you don't have to pass the form, you can just pass the textarea element like this
onclick="addtext(this)";

addtext(txt){
    var Article = txt.value;
}

This way you don't have to worry about names.




NoGray.com


#3 vinnieza

vinnieza
  • New Members
  • Pip
  • Newbie
  • 6 posts

Posted 03 July 2006 - 04:46 PM

won't that get the button's value instead of the textarea's though?
* no questions asked *

#4 nogray

nogray
  • Members
  • PipPipPip
  • Advanced Member
  • 930 posts
  • LocationSan Francisco CA

Posted 03 July 2006 - 05:05 PM

Oh, I thought the onclick event was in the textarea (dauhhh)

what you can do is access the textarea by id instead of name, this way you can either have the same id or define it in the JS in the beginning

onclick="addtext()";


var Article = document.getElementById('ID_HERE').value;

<textarea id="ID_HERE"></textarea>

P.S. the id doesn't have to be the same as the name, but have to be unique.

NoGray.com


#5 vinnieza

vinnieza
  • New Members
  • Pip
  • Newbie
  • 6 posts

Posted 03 July 2006 - 05:06 PM

That's a great idea thanks ;D
* no questions asked *




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users