Ok, so I have form for creating polls. I want to use AJAX request and able user to attach image instead of question, so I use FormData for this.
I could't find any solution for working with multiple input with same name (named like this: "name[]"). I tried this option:
var fdata = new FormData();
fdata.append('answers[]', $('input[name="answer[]"]').val());
But it doesn't work. I know I could use .each()
, but I don't want different name for each question, so I don't have to rebuild PHP side too much.
Thanks for any help.
inputs with the same name is the same form are part of the HTML standard - they are used, e.g., for checkboxes. It is valid to place multiple inputs (hidden or otherwise) with the same name within a single form.
Tip: For <input type="file"> : To select multiple files, hold down the CTRL or SHIFT key while selecting. Tip: For <input type="email"> : Separate each email with a comma, like: [email protected], [email protected], [email protected] in the email field.
The HTML id attribute is used to specify a unique id for an HTML element. You cannot have more than one element with the same id in an HTML document.
Different Elements Can Share Same ClassDifferent HTML elements can point to the same class name.
You have to append each value in turn. Currently you are only appending the first one (because that is what val()
returns.
$('input[name="answer[]"]').each(function (index, member) {
var value = $(member).val();
fdata.append('answers[]', value);
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With