1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Проблема с xajax & JS

Тема в разделе "Web Coding", создана пользователем a_n_d_y, 16 ноя 2007.

Статус темы:
Закрыта.
Модераторы: latteo
  1. a_n_d_y

    a_n_d_y

    Регистр.:
    26 мар 2006
    Сообщения:
    465
    Симпатии:
    61
    Короче хрен могу понять проблемы.
    Вот код.
    PHP:
    <?php
    require_once("../ajax/xajax.inc.php");
    require 
    "../../db.php";
    require 
    "../inc.php";
    unset(
    $logged_user);
    session_start();
    if (
    sess_check($logged_user)==0header('location:../index.php');
    session_register($logged_user);
    if (!
    mysql_connect($SERVER,$USER,$PASSWD))
    {
        include 
    "../../up.php";
        echo 
    "Нет коннекта с базой данных. Подождите 2 минуты.\n";
        include 
    "../../bottom.php";
        exit;
    }
    mysql_select_db($DB);
    mysql_query("set names cp1251");
    $xajax = new xajax();
    $xajax->registerFunction("psih");
    $xajax->registerFunction("psih_res");
    $xajax->debugOn();

    function 
    psih($id)
    {
        
    $content="<form id='players' onsubmit=\"xajax_psih_res(xajax.getFormValues('players'));return false;\">";
        
    $res=mysql_query("blaabla bla"); // дело полюбому не в запрсе ;)
        
    while ($r=mysql_fetch_array($res)){
            
    $pl[]=array('name'=>$r['name'], 'id'=>$r['id'], 'moral'=>$r['moral']);
        }
        
    $max_num=12;
        
    $num_pl=mysql_num_rows($res);
        
    $num=min($max_num$num_pl);
        for (
    $i=0$i<$num$i++)
        {
            
    $content.="<li><select name='i_$i' id='i_$i' ".(($i>0)?"disabled":"")." OnChange=\"sel('$i','$num')\"><option>";
            foreach (
    $pl as $v)
            {
                
    $content.="<option value=".$v['id'].">".$v['name']." (".$v['moral'].")";
            }
            
    $content.="</select></li>";
        }
        
    $content.="<input type=submit value='Поговорить'><input type=button onclick=\"xajax_psih('$id')\" value='Сбросить'></form>";
      
    $objResponse = new xajaxResponse();
      
    $objResponse->addAssign("result","innerHTML"$content);
      return 
    $objResponse;
    }
    function 
    psih_res($arr)
    {
        foreach (
    $arr as $k=>$v)
        {
            $
    $k=$v;
        }
        
    $content="<pre>".var_export($arrtrue)."</pre>";
      
    $objResponse = new xajaxResponse();
      
    $objResponse->addAssign("res","innerHTML"$content);
      return 
    $objResponse;
    }
    $xajax->processRequests();
    if (
    getglobal('nochange')=='1' and $logged_user!='liv'header('location:../index.php');

    if(isset(
    $logged_user)) {
        
    $pagetitle="Кабинет психолога";
        include 
    "../../up.php";
        echo 
    "<div id=\"result\"><script>xajax_psih('$logged_user');</script></div><div id=\"res\"></div>";
        include 
    "../../bottom.php";
    ?>
    <script>function sel(selectid,selectnum)
    {
        var selectedid=xajax.$('i_'+selectid).options[xajax.$('i_'+selectid).selectedIndex].value;
        var id=selectid*1;
        for (var i=id+1; i<selectnum; i++)
        {
            for (var k=0; k<xajax.$('i_'+i).options.length; k++)
            {
                if (xajax.$('i_'+i).options[k].value==selectedid) {xajax.$('i_'+i).options[k]=null;    }
            }        
        }
        xajax.$('i_'+selectid).disabled = true;
        var next=id+1;
        if (next<selectnum){
            xajax.$('i_'+next).disabled = false;
        }    
    };
    </script>
    <?}

    ?>
    Хрень в том что во вторую функцию нихуа не передается, а если отрезаю JS sel, то переходять все данные. Есен перец что лохонклся гле-то в в фнкции на яваскрипте. Мож кто разрулит?
     
Статус темы:
Закрыта.