2014-01-27 93 views
0

我下面的HTML代碼:爲什麼ajax響應代碼沒有正確添加?

<form name="package_type_documents" action="" method="post" enctype="multipart/form-data"> 
    <input type="hidden" name="op" id="op" value="edit"/> 
    <input type="hidden" name="pt_id" id="pt_id" value="5"/> 
    <input type="hidden" name="form_submitted" value="yes"/> 
    <div class="hor-form w33"> 

    </div> 
    <div class="hor-form">  
     <ul> 
     <li> 
      <div class="answer-block" id="doc_title"> 
      <a href="#" class="c-gray-btn c-add-btn" name="add_more_title" id="add_more_title" onclick="add_title(); return false;"><span>Add More Documents</span></a> 
      <ol> 
              <li id="ttl1" class="ptdoc"> 
       <li class="ans_li"> 
        <span class="num-block">1&nbsp;</span><span class="num-block reqd">*</span> 
        <label>Document Title</label> 
        <input type="text" name="pt_doc_title[1]" id="pt_doc_title_1" value="Prabhakar Bhosale" /> 
       </li> 
       <li class="ans_li"> 
        <span class="num-block">&nbsp;&nbsp;</span><span class="num-block reqd">&nbsp;</span> 
        <label>Document File</label> 
        <p class="uploadBtn"><input type="file" name="document_file_name_1" id="document_file_name_1"/> 
        </p> 
       </li> 

                <li class="ans_li"> 
        <a href="package_type_documents.php?op=download&pt_id=5&pt_doc_id=19" style="font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prabhakar_bhosale.docx</a> 
       </li>     
                    <li class="ans_li">     
        <input type="checkbox" name="delete_file_1" id="delete_file_1" class="custom-check" /> 
        <label for="show">Delete document</label> 
       </li> 


       <input type="hidden" name="pt_doc_id[0]" value="19" /> 
            <input type="hidden" name="pt_doc_old_file_iname[0]" value="prabhakar_bhosale.docx" /> 

       </li> 
            </ol> 
      <a href="#" class="c-gray-btn c-add-btn" name="add_more_title" id="add_more_title" onclick="add_title(); return false;"><span>Add More Documents</span></a> 
      <p class="fade">Note * (Image size should be less then 1 mb and allowed image types are jpg, jpeg, gif, png .)</p> 
      </div>   
     </li>  
     <li>   
      <p class="last"> 
      <input id="saveForm" class="c-btn" type="submit" name="submit" value="Update"/> 
      <input type="button" class="c-gray-btn" name="back" value="Back" onclick="javascript:window.location.href='http://localhost/eprime/entprm/web/control/modules/package_type/view_package_type.php?page=1'" /> 
      </p> 
     </li> 
     </ul> 
    </div> 
    </form> 

現在下面是我「打電話是要追加的數據AJAX功能:

<script type="text/javascript"> 
function add_title() { 
    if($.active > 0) { //or $.active  
    request_inprogress(); 
    } else { 
    //var next_title_no = $('#doc_title div').size() + 1;  
    var title_no  = $('#doc_title .ptdoc').size() + 1;  
    // While loop is use to check that this id is already exists or not. 
    /*while ($('#title'+title_no).length>0) { 
     title_no = title_no+1; 
    }*/ 
    $('#add_more_title').removeAttr('onclick'); 

    $.ajax({ 
     type: "POST", 
     url: "package_type_documents.php", 
     data: {'request_type':'ajax', 'op':'add_new_title', 'title_no':title_no}, 
     success: function(data) { 
      if(jQuery.trim(data)=="session_time_out") { 
      window.location.href = site_url+'login.php?timeout=1';    
      } else { 
      $('#doc_title ol').append(data); 
      $("#add_more_title").attr("onClick", "add_title();return false;"); 
      }   
     } 
    }); 
    } 
} 
</script> 

的PHP代碼追加數據如下:

<?php 
$op=$request['op']; 
switch($op) { 

case 'add_new_title': 
     $title_no = $request['title_no']; 


     echo "<li id='ttl$title_no' class='ptdoc'> 
       <li class='ans_li'> 
       <span class='num-block'>$title_no&nbsp;</span> 
       <span class='num-block reqd'>*</span> 
       <label>Document Title</label> 
        <input type='text' name='pt_doc_title[$title_no]' id='pt_doc_title_$title_no' value='' class='inputfield' /> 
       </li> 
       <span class='num-block'>&nbsp;&nbsp;</span> 
       <span class='num-block reqd'>&nbsp;&nbsp;</span> 
       <li class='ans_li'> 
       <label>&nbsp;Document File</label> 
       <p class='uploadBtn'> 
        <input type='file' name='document_file_name_$title_no' id='document_file_name_$title_no' /> 
       </p> 
       <p class='custom-form'> 
        <a href='#' id='ttl$title_no' onclick=\"delete_title(this.id);return false;\" class='c-delete'>Delete</a> 
       </p> 
       </li> 
      </li>"; 
     exit; 
} 
?> 

我的問題是實際的附加代碼是不是如上如果我在Firebug控制檯中看到它附加在以下方式:

<li id="ttl2" class="ptdoc"> … </li><li class="ans_li"><span class="num-block"> 
     2 
    </span><span class="num-block reqd"> 
     * 
    </span><label> 
     Document Title 
    </label><input id="pt_doc_title_2" class="inputfield" type="text" value="" name="pt_doc_title[2]"></input></li><span class="num-block"> … </span><span class="num-block reqd"> … </span><li class="ans_li"><label> 
     Document File 
    </label><p class="uploadBtn"><input id="document_file_name_2" type="file" name="document_file_name_2"></input></p><p class="custom-form"><a id="ttl2" class="c-delete" onclick="delete_title(this.id);return false;" href="#"> 
     Delete 
    </a></p></li> 

我的問題是在下面一行從上面的代碼:

<li id="ttl2" class="ptdoc"> … </li> 

其實,你可以從我不會創作的後立即關閉li我的PHP代碼見。我將數據放入li,然後關閉它。那麼爲什麼li在結果HTML中創建後立即關閉?任何人都可以在這方面幫助我嗎?提前致謝。

回答

3

這是因爲您不能將li直接放在另一個li之內。 你需要li第一(ulol)下創建一個列表或瀏覽器會認爲你只是忘記了</li>,將關閉該標籤爲您

1

olulli當你把它分li如果您不會通過olul使其子成爲,然後瀏覽器追加其各自的關閉標記

相關問題