0

Привет, я строго имею проблему на языке скрипта: Я использую два раскрывающихся списка в php, мое приложение, разрабатываемое mvc , когда страница загружает вариант выпадающего списка проекта загружен. , но пользователь выбирает проект из списка и на основе проекта загружает список модулей в раскрывающемся списке.Как получить значение с клиентской стороны на сервер

Я попробовал javascript, чтобы выбрать значение проекта. и я не знаю, как передать значение переменной стороне клиента переменной на стороне сервера. мой код

view.php

<table class="row-fluid"> 
<tr> 
<td><label for="taProj"><?php echo t('Project')?>:</label></td> 
<td><select name="taProj" id="taProj" onchange= "checkField(this.value)"> 
<option value="" >-------------------------</option> 
<?php foreach ($tap as $row){?> 
<option value="<?php echo $row['proj_id']; ?>" ><?php echo $row['proj_name'];?></option> 
<?php } ?> 
</select></td> 
<input type="hidden" name="pid" id="pid"> 
</tr>     
<tr>       
<td><label for="taModule"><?php echo t('Module Name')?>:</label></td> 
<td><select name="taModule" id="taModule" > 
<option value="" >-------------------------</option> 
<?php //$myv = $_POST['modid']; 
$myvar = print "<script type='text/javascript'>document.getElementById('pid')</script>"; 
foreach ($tam as $row){ 
if($row['proj_id'] == $myvar){?> 
<option value="<?php echo $row['mod_id']; ?>" ><?php echo $row['mod_name'];?></option> 
<?php } }?> 
</select></td> 
</tr> 

код сценария:

function checkField(val){  
    document.getElementById("pid").value = val; 
    //alert(document.getElementById("pid").value); 
} 

за $ водопроводная и $ ТАМ от контроллера

Мои запросы в том, какой метод сценария использовать здесь и достичь этой задачи. пожалуйста, предложите мне, как это сделать ....

благодаря Кумар

+0

Я бы сказал, что вам нужно использовать ajax-вызов для some.php с любым параметром, который вы хотите, и получить правильный возврат. – LorDex

ответ

0

Вы можете сделать это с помощью вызова Ajax. Это работает как

  • U необходимо указать способ, по которому вы хотите передать данные. (MethodNameWhereUWantToGo)

  • Вы должны указать, какие данные для передачи.
    (пары = document.getElementById ("PID"). Значение)

  • Вы должны указать, куда поместить результаты функции возврата. (Div с идентификатором setResult)

function checkField(val) 
{  
     document.getElementById("pid").value = val; 
     $.ajax({ 
        url: "/MethodNameWhereUWantToGo", 
        type: "POST", 
        data: { param:document.getElementById("pid").value }, 
        success: function (result) {      
         $("#setResult").html(result); 

        } 
       }); 
    } 
+0

Вам нужно иметь jquery, чтобы использовать его. –

+0

Я использую этот код, это не вызов моего метода или функции ... У меня есть запрос здесь, если я выбираю проект в раскрывающемся списке, который ajax вызовет метод ....? вы имеете в виду именно это право? –

+0

вам просто нужно вызвать эту функцию javscript, где хотите. Это будет работать. Если вы хотите вызвать его при изменении значения выпадающего списка, то вы можете использовать функцию изменения jquery в раскрывающемся списке, чтобы вызвать эту функцию. –

2

$ ("# setResult"). Нагрузка ('thepageurl.php? PID =' + document.getElementById ("PID") .стоимость);

этот код будет посылать PID методом GET в thepageurl.php и получить результат и положить его в setResult элемент

это пример: http://www.w3schools.com/jquery/ajax_load.asp

Примечание: вы должна включать библиотеку JQuery в заголовке HTML.

+0

да, я читал w3school. Я понимаю код jquery, но у меня есть запрос здесь, как загрузить demo_test.txt и что такое заголовок библиотеки JQuery? –

0

Кумар

В основном, когда вы загрузите этот код в браузере есть привычка быть любым PHP код видел и все значения из вашего для петли будет неправдоподобной и отформатирован с HTML-тегами. Таким образом, вы можете заполнить кран, и для каждого выбора крана вы получите значение и выборку с помощью ajax.

+0

Я могу понять, что вы имеете в виду, но одна важная вещь, я не работал с ajax и не знаком. а также я пытаюсь использовать код с помощью ajax, мне не удалось –

Смежные вопросы