2012-01-06 76 views
0

我試圖創建一個相當簡單的編輯器,目的是通過一種簡單的方式創建調查問卷,然後將問卷發送給客戶填寫併發回給我們。 所以編輯器部分是用jQuery完成的,我只需在按鈕單擊時添加所需的html元素(文本/按鈕)。視覺部分起作用。 現在當然創建的模板應該可以通過xml保存和加載。將jquery生成的html內容保存爲xml

保存到文件部分是我還沒有弄清楚的。

我即將走的路只是採取整個HTML文件,並通過PHP解析它。但這似乎是一個不理想的解決方案。

問題是,我的經驗相當有限,我只是想做這個方便/愛好項目,所以我總是覺得我正在做的事情是愚蠢的方式。 所以我完全開放,以最好的方式完成這項任務。

所以給你,我會創建了一個例子:

<input type="checkbox" id="checkId1" /><label for="checkId1">Sample Answer</label> 
<textarea type="text" name="questionText" id="questionText1" value="Sample Question Text"></textarea> 

,並希望將其轉換爲看起來有點像

<Question> 
<QuestionType>CheckboxQuestion</QuestionType> 
<QuestionText>Sample Question Text</QuestionText> 
</Question> 

對此我再要轉換回一個xml html解析jQuery時。

+0

我不清楚爲什麼你要使用XML作爲中間人。您爲什麼不直接創建問卷以您客戶需要的任何文件格式? – Blazemonger 2012-01-06 14:10:43

+0

因爲對於其他人(我的同事)來說,讓他們更直觀地創建它們會更舒服。我已經創建了這個功能,所以我想用它。 – Daniel 2012-01-06 14:26:11

回答

1
 I think this is what you mean! 

    1. you xml 
     <Question> 
     <QuestionType>CheckboxQuestion</QuestionType> 
     <QuestionText>Sample Question Text</QuestionText> 
     </Question> 
    2. Then parse xml using JS 

     $.ajax({ 
       type:'GET', 
       url:'your xml file', 
       dataType:'xml', 
       success: function(data){ 
        $(data).find("Question").each(function(){ 

       $('div.caption').append("<input type='checkbox' id='checkId1'>" 

       +"<label for='checkId1'>" 
       +$(this).find('QuestionType').text() 
       +"</label>" 
       +"<textarea type='text' name='questionText' id='questionText1'" +"value='"$(this).find('QuestionText').text()"'>" 
       +"$(this).find('QuestionText').text()" 
       +"</textarea>"); 

         }); 
       } 
      }); 


    3. HTML <div class='caption'></div> 

    Hope this will help! Tnx