Skip to main content
Participant
December 11, 2012
Answered

Using onChange behavior

  • December 11, 2012
  • 1 reply
  • 1939 views

Hi,

I am working in Dreamweaver 5.5 on a php file.

I have a variable $username = $_SESSION['MM_Username'] and another variable: $user_asking. I want to assign the value $username to $user_asking when a Select (List/Menu) is changed, using onChange Behavior. It is possible? Thank you!

This topic has been closed for replies.
Correct answer sudarshan.t

On a sidenote, I doubt this possibility. PHP is server-side, Javascript is client-side. Unless you actually submit the form to PHP for processing and get a return value, I doubt if you can use the value within an onChange behavior.

Anyway, post your code in full so we can offer more suggestions.

-ST

1 reply

sudarshan.t
Inspiring
December 11, 2012

Can we see your full code?

-ST

Participant
December 11, 2012

Hmmmmm...the script is pretty long already (almost 2000 lines) and to give you only that part is complicated. My question, simplified, is like this: what I have to write on Tag inspector-Behaviors-onChange in order (when the event appear) to assign a particular value to a variable?

Participant
December 18, 2012

I agree. You would need to write some AJAX code on the page that communicates with a separate php file. The php file could send data back to your page without reloading it. I was just working on something very similar this morning.

Something like this might work for you...

On the page with the select element:

<script type="text/javascript">

function doSomethingOnServer(){

     if(window.XMLHttpRequest){

          //code for IE7+, Firefox, Chrome, Safari

          xmlhttp = new XMLHttpRequest();

     }

     else{

           xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

     }

      xmlhttp.onreadystatechange = function(){

          if(xmlhttp.readyState == 4 && xmlhttp.status == 200){

               document.getElementById("my_paragraph").innerHTML = xmlhttp.responseText;

          }

     }

     xmlhttp.open("GET", "do-something.php, true);

     xmlhttp.send();

}

</script>

<select id = "my_select" onChange = "doSomethingOnServer()">...</select>

<p id="my_paragraph"></p>

On a separate php file named do-something.php:

<?php

     //do something

     $user_asking = $username;

     echo("Write out data that you want to sent back as responseText here. i.e., user asking = $user_asking");

?>


I was affraid that I will need something like this. Thank you very much!