0
基本上,我的模型要求對象綁定到物理位置。爲此,我通過使用用戶在文本字段中輸入的關鍵字通過AJAX從API中提取位置,當用戶選擇推薦給他們的有效位置時,jQuery自動完成設置爲將隱藏字段設置爲唯一ID。如何根據驗證失敗添加Symfony表單字段?
這很好,假設用戶有JavaScript並點擊了一個位置。
我需要實現一個回退,也就是說,無論出於何種原因,如果提交的表單沒有隱藏字段的值,表單應該使用可見的任何內容來查詢API併爲用戶提供一個選擇框從中選擇一個值。
我大致知道我需要添加的代碼,但是我失去了將它綁定在哪裏。任何幫助表示讚賞。
我不確定你是否完全閱讀我的問題,我已經完成了你所建議的所有內容,現在我正在努力解決這個問題。 – Steve
我在說的是。您的小部件應該默認爲備用元素。那麼當且僅當js(或其他)被啓用時,元素纔會變成自動完成。它被稱爲漸進式增強http://www.alistapart.com/articles/understandingprogressiveenhancement/ – xzyfer
或者你可以使用優雅的降級(http://dev.opera.com/articles/view/graceful-degradation-progressive-enhance/)說它是最好的,它可以是默認情況下(即自動完成),然後讓它回落,如果功能不支持(即JavaScript)。無論哪種方式,所有這些應該是你的小部件的一部分,這就是爲什麼我建議你看看sfFormExtraPlugin,這是如何在你的小部件中使用漸進增強的一個很好的例子。 – xzyfer