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?

geotrice
Inspiring
December 17, 2012

Like I said, I don't think it is possible to do this with your PHP and JS on the same page. JS needs to post the data back to PHP for processing which happens on pageload.

However, I'm moving this thread to Developing Server-side applications in DW for better responses.


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");

?>