我的一段html如下:
<select name="s1" onchange="changeform(this.value)">
<option value='invitation'>invitation</option> 
<option value='response'>response</option> 
<option value='reception'>reception</option> 
</select> 
现在我想要做的是在php函数中调用到option的value值,要根据这个变量来判断显示不同的东西。但是如果用POST或GET方法的话,必须要用submit,但是我不想要加submit,所以我想是不是可以通过在php中调用changeform()这个js函数来达到目的,但是好像不行?
请问我应该怎么实现啊?

解决方案 »

  1.   


    <script language='javascript'>
    function changeform(this.value)
    {
    if(this.value == "invitation")
    {
      display();
    }
    else if(this.value == "response")
    {
      display();
    }
    else if(this.value == "reception")
    {
      display();
    }
    }
    function display()
    {
      //如果不想一次加载,可以用ajax动态获取
      //如果一次加载,只是隐藏了,可以调用document.getElementById('xxx')来显示或者隐藏
    }
    </script>
    //onclick代替onchange,
    <select name="s1" onclick="changeform(this.value)"> 
    <option value='invitation'>invitation </option> 
    <option value='response'>response </option> 
    <option value='reception'>reception </option> 
    </select> 
      

  2.   

    jakey9826 
    我在php中怎么调用到value值啊?
      

  3.   

    还是你的意思是我把要显示的东西写在display里面?
      

  4.   

    PHP+JS的xmlhttprequest就可以实现
      

  5.   

    chinmo
    麻烦您说详细点,我就是一新手,还不是专业搞程序的。相当盲目,谢谢了
      

  6.   

    这有一个方法,不知道是不是你想要的:用JavaScript,还是用onchange事件。做一个表单,可以用一个隐形的submit,这样就不用做submit按钮,而到一个页面去调用你的函数(参数由表单传递),而这个页面不用显示,执行完函数后转回来。onchange可以这样写:onchange="document.forms.form名.submit();
      

  7.   

    如果是隐形的submit,那么怎么提交呢?
    是不是select每次内容变动都让他自动提交,那如果是这样,怎么实现呢?
      

  8.   

    <script type="text/javascript">
     var xmlHttp;
     function createXMLHttpRequest() {
         if (window.ActiveXObject) {
             xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         else if (window.XMLHttpRequest) {
             xmlHttp = new XMLHttpRequest();
         }
     }
     
     function changeform(value) {
         createXMLHttpRequest();
         xmlHttp.onreadystatechange = handleStateChange;
         xmlHttp.open("GET", "post.php?action"+value, true);
         xmlHttp.send(null);
     }
     
     function handleStateChange() {
         if(xmlHttp.readyState == 4) {
             if(xmlHttp.status == 200) {
                 alert("The server replied with: " + xmlHttp.responseText);
             }
         }
    }
     </script>上面是GET方式提交到post.php这个文件的,还可以用post方式提交,不懂要学会GOOGLE
      

  9.   


    get或者post
    如果你还要和后台交互获取内容,只能ajax了.
      

  10.   


    使用Ajax API,动态提取PHP的输出信息。
      

  11.   

    表单可以这样做:<form method="post" name="form_set" action="set.php"><select name="s1" onchange="document.form_set.submit();"> 
    <option value='invitation'>invitation </option> 
    <option value='response'>response </option> 
    <option value='reception'>reception </option> 
    </select> </form>写一个set.php页面,在set.php(不用显示)里面运行你要进行的操作(如你要运行的函数),运行完后返回你当前的页面。
      

  12.   

    onchange="js_func(this.value);"
    js_func(pVal)
    {
    call jquery,xajax等等
    }