-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Description
I have
<multiple name="entries" min-entries="2">
<tr>
<td><select name="nominal"><options source="nominals"/></select></td>
<td><input name="dr" type="number"></td>
<td><input name="cr" type="number"></td>
<td><button class="btn.del" value="Del"/></td>
</tr>
</multiple>
This fails to set the options correctly with $form->source('nominals', $this->nominals); and instead renders as
<div class="multiple">
<div id="multiple152640179011218686025afb0afe01ff2" class="multiple-forms">
<div class="multiple-element" id="multiple15264017906284506685afb0afe020d3"/>
<tr>
<td><select name="entries[0][nominal]" source="nominals" >
</select>
</td><td><input step="any" type="number" name="entries[0][dr]" /></td><td><input step="any" type="number" name="entries[0][cr]" /></td><td><button class="btn.del" value="Del"/></td></tr>
<span class="multiple-remove"><a href="javascript:Formidable.removeInput('multiple15264017906284506685afb0afe020d3')">Remove</a><br /></span></div><div class="multiple-element" id="multiple152640179014166551895afb0afe02190"/>
<tr>
<td><select name="entries[1][nominal]" source="nominals" >
</select>
</td><td><input step="any" type="number" name="entries[1][dr]" /></td><td><input step="any" type="number" name="entries[1][cr]" /></td><td><button class="btn.del" value="Del"/></td></tr>
<span class="multiple-remove"><a href="javascript:Formidable.removeInput('multiple152640179014166551895afb0afe02190')">Remove</a><br /></span></div></div>
<div class="multiple-buttons"><script type="text/javascript">var multiple152640179011218686025afb0afe01ff2_code = "\n <tr>\n <td><select name=\"entries[{number}][nominal]\" source=\"nominals\" >\n<\/select>\n<\/td><td><input step=\"any\" type=\"number\" name=\"entries[{number}][dr]\" \/><\/td><td><input step=\"any\" type=\"number\" name=\"entries[{number}][cr]\" \/><\/td><td><button class=\"btn.del\" value=\"Del\"\/><\/td><\/tr>\n";
Formidable.multiple["multiple152640179011218686025afb0afe01ff2"] = 2;
</script><a href="javascript:Formidable.addInput('multiple152640179011218686025afb0afe01ff2', multiple152640179011218686025afb0afe01ff2_code);">Add</a></div></div>
instead of filling in the select options as expected.
I can see in 'Form.php'
/**
* Values sourcing
*/
public function source($source, $data)
{
$sources = $this->parserData->getSources();
$sources[$source]->source($data);
}
This is only getting the sources for the outer form, not any multiples within it.
This could be changed to recurse into any multiples but then there is the consideration of what the javascript is going to do on row addition etc.
Can you suggest a sensible workaround, or point me in the right direction to create a PR?
Cheers
Metadata
Metadata
Assignees
Labels
No labels