Замена значения заполнителя на поля ввода с уникальными именами - PullRequest
0 голосов
/ 18 мая 2018

У меня есть следующий код, где у меня есть заполнитель внутри моего сохраненного контента.Я хочу заменить значение заполнителя на поле ввода.Я могу сделать это успешно.Тем не менее, мне нужно переименовать все поля ввода флажок по-разному, как 1,2,3,4, но без использования библиотеки JSoup, потому что здесь это излишне.Есть ли что-нибудь еще, что я могу попробовать?

<cfsavecontent variable="h">
    <cfoutput>#mytable.h#</cfoutput>
</cfsavecontent>
<cfset h= Replace(h,"[Check Box]","<input type='checkbox' name='abc' id='abc'>","all")>

Выше созданы флажки с тем же именем, которые я не хочу.

1 Ответ

0 голосов
/ 19 мая 2018

Это ужасно и грубо, но это должно дать вам представление о том, как вы можете подойти к этому вопросу.

<!--- Whatever your h value comes from --->
<cfset h = "[Check Box] Some text. <br>
    [Check Box] Some text. <br>
    [Check Box] Some text. <br>
    [Check Box] Some text. <br>
    [Check Box] Some text. <br>
    [Check Box] Some text. <br> 
    [Check Box] Some text. <br>
    [Check Box] Some text. <br>
">

<!--- 
    We replace the searched for text with a single character delimiter 
    so that we can count elements. We also append a nonsense character 
    to the string to make sure that if our searh string is the first 
    thing in the full string, it will still get replaced. 
--->
<cfset changeDelims = replace('a' & h,"[Check Box]","|","All")>
<!--- 
    Now we can count how many elements are in the main string. This 
    will tell us how many times we need to replace our substring. 
--->
<cfset howMany = listLen(changeDelims,"|")-1>

<!--- 
    Now loop through your string for the number of times we have that
    substring and replace it. 
--->
<cfloop from="1" to="#howMany#" index="i">
    <cfset replaceStr = "<input type='checkbox' name='abc#i#' id='abc#i#'>")>
    <cfset h = replace(h,"[Check Box]", replaceStr)>
</cfloop> 

<!--- Which gives us.... ---->
<cfoutput>#h#</cfoutput>
...