expand <input type..

JavaScript and client side scripting.

Moderator: General Moderators

User avatar
ol4pr0
Forum Regular
Posts: 926
Joined: Thu Jan 08, 2004 11:22 am
Location: ecuador

expand <input type..

Post by ol4pr0 »

Oke, i have no idea on how or what just think that with php i will not get the resutl.


lets say i wanna make a search but in differant sections, which all have differant search values ofcourse..

so first i want to determen which section, according to that section have a couple of more input fields ( or option ) with the other search options.

example.

Code: Select all

<option>php</option>
  <option>java</option>
  <option>c++</option>

and the submit button lol.
Oke.. now if the user selects php i wanna expand this search form.
with some other fields but on the same page. Same for all the other options.

Now how do i do this! ( i dont have a clue what i am looking for so googling .. )

any ideas
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

hmm.. I think .innerHTML may be best in this situation. Say you have the following code
example only

Code: Select all

<html>
<script language="Javascript">
function getElem(id)
&#123;
  return document.getElementById?document.getElementById(id):document.all&#1111;id];
&#125;

function updateForm(index)
&#123;
  var updArea = getElem('updArea');
  switch(index)
  &#123;
    case 1: // php
      updArea.innerHTML = 'php selected';
      break;
    default:
      updArea.innerHTML = 'please select an item in the drop down';
      break;
  &#125;
&#125;
</script>
<body>
<form action="foo.php" method="get">
<select onchange="updateForm(this.selectedIndex)">
<option>------</option>
<option>php</option>
<!-- whatever else... -->
</select><span id="updArea">please select an item in the drop down</span></form>
</body>
</html>
Last edited by feyd on Fri Jun 18, 2004 3:28 am, edited 1 time in total.
User avatar
ol4pr0
Forum Regular
Posts: 926
Joined: Thu Jan 08, 2004 11:22 am
Location: ecuador

Post by ol4pr0 »

Thanks i will google some more on that innerHTML
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

updated code

fixed a slight tag problem.. it works now.. Javascript 1.2 required though.. I think.. maybe 1.1
User avatar
ol4pr0
Forum Regular
Posts: 926
Joined: Thu Jan 08, 2004 11:22 am
Location: ecuador

Post by ol4pr0 »

Thanks i will try agian, i got it working however when putting the code in the page it stop working
some error with the 7 caracter of updArea.innerHTML

now i figured out the java part needs to go in the head, but.. still nothing..
User avatar
ol4pr0
Forum Regular
Posts: 926
Joined: Thu Jan 08, 2004 11:22 am
Location: ecuador

Post by ol4pr0 »

Oke .. youre last one seem to work better, ofcourse with some changes

i am wondering how do i get the $vars

tried $_GET / $_POST / $_REQUEST...
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

my example is set up to use get, however, the select does not have a name, so it may have a random-ish name association if you are looking for that. You may want to name the select.

It may help to post the code you are using now.
User avatar
ol4pr0
Forum Regular
Posts: 926
Joined: Thu Jan 08, 2004 11:22 am
Location: ecuador

Post by ol4pr0 »

oke, i am not behind my own computer now.

but what i basicly did, is changed the

Code: Select all

case 1:
updArea='&lt;input type=text name=text&gt;&lt;/input&gt;'
than later on. the foo.php

Code: Select all

<?php
if (isset($submit)) {
 echo $_POST['text'] ;
}
?>
error returned undefined index text ..
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

did you change the method of the form to "post"?
User avatar
ol4pr0
Forum Regular
Posts: 926
Joined: Thu Jan 08, 2004 11:22 am
Location: ecuador

Post by ol4pr0 »

nope i did not.. i only tried the echo with $_POST - GET - REQUEST

stupid of me that that will make the differance, very dumb ...
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

...using $submit, would suggest register_globals is on.. is this true?
User avatar
ol4pr0
Forum Regular
Posts: 926
Joined: Thu Jan 08, 2004 11:22 am
Location: ecuador

Post by ol4pr0 »

yes, i have them on..

dont know why cuase i am using $_GET and $_SERVER['PHP_SELF'] all over the site, so if i am correct it should work with globals off aswell correct ?

here is the code as i have it now, * am on a 56k here so connecting and disconnecting otherwise my phonebill will kill me.

Code: Select all

&lt;script language="Javascript"&gt;
				function getElem(id)
				&#123;
				  return document.getElementById?document.getElementById(id):document.all&#1111;id];
				&#125;

				function updateForm(index)
				&#123;
				  var updArea = getElem('updArea');
				  switch(index)
				  &#123;
					case 1:
					  updArea.innerHTML = '&lt;br&gt;Game Name:&lt;input type="text" name"gname" size="10"&gt;&lt;/input&gt;';
					  break;
					case 2:
					  updArea.innerHTML = '&lt;br&gt;Game Name:&lt;input type="text" name"gname" size="10"&gt;&lt;/input&gt;';
					  break;
					case 3:
					  updArea.innerHTML = '&lt;br&gt;Game Name:&lt;input type="text" name"gname" size="10"&gt;&lt;/input&gt;';
					  break;
					case 4:
					  updArea.innerHTML = '&lt;br&gt;Game Name:&lt;input type="text" name"gname" size="10"&gt;&lt;/input&gt;';
					  break;

					default:
					  updArea.innerHTML = 'Please Select';
					  break;
				  &#125;
				&#125;
				&lt;/script&gt;

				&lt;form action="foo.php" method="post"&gt;
				&lt;select onchange="updateForm(this.selectedIndex)"&gt;
				&lt;option&gt;-select-&lt;/option&gt;
				&lt;option&gt;ps2&lt;/option&gt;
				&lt;option&gt;xbox&lt;/option&gt;
				&lt;option&gt;pc&lt;/option&gt;
				&lt;!-- whatever else... --&gt;
				&lt;/select&gt;&lt;span id="updArea"&gt;&lt;/span&gt;&lt;br&gt;
				&lt;INPUT TYPE="submit" name="submit" value="submit"&gt;&lt;/form&gt;

Code: Select all

<?
				# this on the foo.php nothing great just testing it..
				echo $_POST['gname'];
				?>
produced error
Undefined index: gname in foo.php on line 2
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

uhm... name="gname" maybe.. :D
User avatar
ol4pr0
Forum Regular
Posts: 926
Joined: Thu Jan 08, 2004 11:22 am
Location: ecuador

Post by ol4pr0 »

Didnt i put that in the input type ? or am i blind.... ( could be. ) lol
Am tryng to get the values form the input type ofcourse i will need the one from the select box aswell.

a input submit button in the cases did not work.. i tried that.
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

making a local version of yours, after making the names have assignment (=) in them, and doing print_r($_POST) in foo.php, it works perfectly..

I would suggest not checking for $submit or $_POST['submit'] as neither may be present if someone used the enter key to submit the form...
Post Reply