2013-12-05 1 views
1

Я использую шаблон Smarty и мой код выглядит следующим образом:Как получить доступ к значению скрытого поля?

<div class="breadcrumb-wrap"> 

{include file='resources-sub-menu.tpl'} 

    <ul class="page-flow"> 
    <li><a href="#">Home</a><span>></span></li> 
    <li>Questions</li> 
    </ul> 
</div> 
<h1 class="c-heading"> Match Questions </h1> 
<div class="c-grad-box fnShowData"> 
    <div class="form-wrapper"> 
    <form id="view-questions-form" name="questions_filter" action="{$control_url}modules/questions/match_question.php" method="post"> 
      <input type="hidden" name="page" id="page" value="1" > 
     <div class="w50">    
     <ul> 
      <li> 
      <label>Subjects</label> 
      <div class="form-element"> 
       <select name="subject_id" id="subject_id" onchange="get_topics_by_subject(this.value, 'get_topics_by_subject_for_filter', '#topic_id'); return false;"> 
       <option value="">All</option> 
       {foreach from=$all_subjects item=subjects key=key} 
       <option value="{$subjects.subject_id}" {if $subject_id == $subjects.subject_id} selected="selected"{/if}>{$subjects.subject_name}</option> 
       {/foreach} 
       </select> 
      </div> 
      </li> 
     </ul> 
     </div> 
     <div class="w50">    
     <ul> 
      <li> 
      <label>Topics</label> 
      <div class="form-element"> 
       <select name="topic_id" id="topic_id"> 
        <option value="">All</option> 
        {foreach from=$all_topics item=topics key=key} 
        <option value="{$topics.topic_id}" {if $topic_id==$topics.topic_id} selected="selected"{/if}>{$topics.topic_name}</option> 
        {/foreach} 
        </select> 
      </div> 
      </li> 
      <li> 
      <div class="find-que-ans"> 
       <p class="custom-form"><label></label></p> 
       <input type="submit" class="c-btn submit_form" name="btn_submit" id="btn_submit" value="Match Questions" /> 
      </div> 
      </li>       
     </ul> 
     </div>   
    </form> 
    </div> 
</div> 
<br/><br/> 
<table width="100%" class="base-table tbl-practice" cellspacing="0" cellpadding="0" border="0"> 
    <tr class="evenRow"> 
    <th width="33%" style="text-align:center;" class="question-id">Que ID</th> 
    <th width="33%" style="text-align:center;" class="question-id">Matching Que IDs</th> 
    <th width="33%" style="text-align:center;" class="question-id">Percentage(%)</th> 
    </tr> 
{if $all_match_questions} 
    {foreach from=$all_match_questions item=qstn key=key} 
    {if $qstn.similar_questions_ids_and_percentage} 
    <tr class="oddRow"> 
    <td class="question-id" align="center" valign="top"> 
     <a href="{$qstn.return_url}" title="View question" class="inline_view_question_detail">QUE{$qstn.question_id}</a>{if $qstn.question_appeared_count gt 1}-Appeared({$qstn.question_appeared_count}){/if} 
    </td> 
    <td class="question" align="center" valign="top"> 
     {foreach from=$qstn.similar_questions_ids_and_percentage item=question key=q_no} 
     {if $question.question_id!=''} 
     <a href="{$qstn.return_url}" title="View question" class="inline_view_question_detail">QUE{$question.question_id}</a>{if $question.question_appeared_count gt 1}-Appeared({$question.question_appeared_count}){/if} 
     {if $question.question_appeared_count eq 0} 
     <a href="{$control_url}modules/questions/match_question.php?op=delete&question_id={$question.question_id}&subject_id=&topic_id=" title="Delete question" class="inline_view_question_detail"> Delete</a> 
     {/if} 
     {/if}<br /> 
     {/foreach} 
    </td> 
    <td class="question" align="center" valign="top"> 
     {foreach from=$qstn.similar_questions_ids_and_percentage item=question key=q_no} 
     {if $question.percentage!=''}{$question.percentage}{/if}<br /> 
     {/foreach}    
    </td> 
    </tr> 
    {/if} 
    {/foreach} 
{else} 
    <tr> 
    <td colspan="2" align="center"><b>No Questions Available</b></td> 
    </tr> 
{/if} 
</table> 

Вы можете наблюдать из приведенного выше кода, что есть два скрытых поля с именем subject_id и topic_id соответственно. Теперь нажав гиперссылку, я хочу отправить эти скрытые значения в строку запроса. Ниже приведен код для гиперссылки. Я хочу добавить subject_id и topic_id к текущей строке запроса. Может ли кто-нибудь вести меня в этом?

<a href="{$control_url}modules/questions/match_question.php?op=delete&question_id={$question.question_id}&subject_id=&topic_id=" title="Delete question" class="inline_view_question_detail"> Delete</a> 

Еще одна вещь, которую следует отметить здесь, я не хочу присылать форму. Я просто хочу отправить значения только с помощью запроса.

+0

вы косяк есть скрытые поля вложенных жгутов выберите поле – Steve

+0

@ user574632: Да, вы правы, я был неправ. Поэтому, чтобы полностью понять мой код, я должен опубликовать весь код шаблона. Это не очень большой. – PHPLover

+0

Я опубликовал весь код шаблона. – PHPLover

ответ

1

Скрытые поля работают так же, как и любой другой вход, значение будет получено от имени поля ввода.

<a href="{$control_url}modules/questions/match_question.php?op=delete&question_id={$question.question_id}&subject_id={$subjects.subject_id}&topic_id={$topics.topic_id}" title="Delete question" class="inline_view_question_detail"> Delete</a> 
0

Рассматривая ваши коды, мне кажется, что «subject_id» и «topic_id» являются строкой.

Это просто, если они являются просто базовыми, добавьте их. но если нет, и это переменная, только эхо их, как показано ниже

<select id= "<? subject_id ?>">

1

Почему и использовать скрытое поле не выбрать значение? В этом случае найти выберите значение, поскольку это предмет идентификатор

on click for anchor tag 
    var id=$("#subject_id").val();//find select value 
    var subjectid=$("#"+id).val(); 
    //Append in anchor tag href and similarly for topic id 
0

Если вы хотите получить доступ к значениям theese двух полей при загрузке страницы вы можете использовать это:

$('#subject_id').val() 
    $('#topic_id').val() 

Если вы выбрать другие значения после того, как форма визуализируется вы должны использовать яваскрипт и связать щелчок ссылки на javsacript функции:

$('.inline_view_question_detail').on('click', function() { 
     var data = {} 
     data['op'] = 'op'; 
     data[question_id'] = 'idofquestion'; 
     //and put your variables here 
     $.ajax({ 
      url: 'theurltowhichyouwanttosendthedata', 
      type: "POST", 
      data: data, 
      success: function() { 
        alert('success'); 
      } 
     }); 
    });