我用下面的TAG-IT插件 http://webspirited.com/tagit/jQuery的TAG-IT - 如何通過類型化的標籤回PHP
這是我試圖來測試這個插件的HTML頁面的代碼片段 - 在哪裏用戶類型標籤
<input class="text_field" type="text" size="72" id="question_title"/>
<textarea id="question"></textarea>
<ul id="demo3" class="tagit">
<li class="tagit-choice">apple orange<a class="tagit-close">x</a></li>
<li class="tagit-new"><input class="tagit-input ui-autocomplete-input" type="text" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true"></li>
<ul class="ui-autocomplete ui-menu ui-widget ui-widget-content ui-corner-all" role="listbox" aria-activedescendant="ui-active-menuitem" style="z-index: 1; top: 0px; left: 0px; display: none;"></ul></ul>
<input id="question_submit" type="submit" value="Ask Question"/>
現在當上「提問」按鈕,用戶點擊 - 以下Ajax調用發生
$("#question_submit").live('click',function(e) { e.preventDefault(); var question_val = $("#question").val(); var question_title = $("#question_title").val(); var tags = $("#demo3").tagit("tags"); var s =''; for (var i in tags) s += tags[i].label + " : " + tags[i].value + "\r\n"; alert(s); $.post('/course/ask-question', {question: question_val,question_title: question_title,tags:tags}, function(data) { if(data.success=="ok") { $("div#wall").prepend(data.question); } },"json"); });
所以在這個函數中,我能夠得到標籤
var tags = $("#demo3").tagit("tags");並循環遍歷它們並打印每個標籤的標籤和值。
現在,當我嘗試通過$ .post傳遞給我的PHP控制器 - 它不起作用 - 我的意思是如果我在調用ask-question函數時刪除數據標記:標記,它工作正常 - 但是當我添加它 - 沒有發生好像該函數沒有被調用。
是否有一種特殊的方式將此標籤對象傳遞給PHP?
編輯 在Chrome開發者工具 - 當我提交表單,同時保持標籤:標籤數據 - 我發現了以下錯誤
Uncaught TypeError: Illegal invocation jquery-1.6.4.min.js:4 e jquery-1.6.4.min.js:4 bY jquery-1.6.4.min.js:2 bY jquery-1.6.4.min.js:2 bY jquery-1.6.4.min.js:2 bY jquery-1.6.4.min.js:2 bY jquery-1.6.4.min.js:2 bY jquery-1.6.4.min.js:2 bY jquery-1.6.4.min.js:2 (anonymous function) jquery-1.6.4.min.js:2 e.extend.each jquery-1.6.4.min.js:2 bY jquery-1.6.4.min.js:2 f.extend.param jquery-1.6.4.min.js:4 f.extend.ajax jquery-1.6.4.min.js:4 f.(anonymous function) jquery-1.6.4.min.js:4 (anonymous function) course-feed.js:51 L jquery-1.6.4.min.js:2 f.event.handle jquery-1.6.4.min.js:3 i.handle.k
感謝您的幫助 感謝
謝謝傑森 - 我試過 - 它沒有任何區別 - 謝謝 – Gublooo 2013-02-14 14:31:51
如果你使用Chrome,你可以打開開發者工具來查看帖子返回的內容。你可以發佈它返回的內容,以便我們看看? – Jason 2013-02-14 14:33:59
對於Firefox,你應該可以使用螢火蟲做同樣的事情。 :-) – Jason 2013-02-14 14:34:27