在asp.net中,服務器端控件有一個名爲ClientID的屬性,它可以用來獲取模板引擎爲服務器端控件生成的id,是否有類似的東西在SilverStripe中,獲取輸入元素的id而不是它的.field包裝器?在SilverStripe中獲取一個字段的客戶端元素ID
感謝
在asp.net中,服務器端控件有一個名爲ClientID的屬性,它可以用來獲取模板引擎爲服務器端控件生成的id,是否有類似的東西在SilverStripe中,獲取輸入元素的id而不是它的.field包裝器?在SilverStripe中獲取一個字段的客戶端元素ID
感謝
看一看的的ID方法FormField
http://api.silverstripe.org/3.1/class-FormField.html
在你的模板,你應該能夠使用
$Fields.FieldByName(FieldName).ID
我不能在模板中,但我已經嘗試在代碼中作爲這個'$ fields-> dataFieldByName('AnotherField') - > setAttribute('data-attribute',$ isTrueField-> ID()) ;' 輸出結果只是「IsTrue」,不包括表格前綴... 對不起,我不知道如何在這裏發佈一個格式良好的代碼,所以我把更多的信息放在gist中:https:// gist .github.com/Ariex/57ffc1db828feedda649 – Ariex
也許試試$ id = $ isTrueField-> form-> FormName()。 '_'。 $ isTrueForm-> ID();如果您查看ID()的代碼,它應該返回表單名稱http://api.silverstripe.org/3.1/source-class-FormField.html#250-266 –
也許沒有定義表單。試試Debug :: dump($ isTrueForm-> form); –
你指到Silverstripe附帶的標準FormFields (例如。 TextField,CheckboxField等)或其他擴展'FormField'的自定義字段? – Turnerj
是的,標準FormFields – Ariex