I’m reading the value of an input text field and passing it to be used as ajax data
The field value has a +
<input name="someval" type="text" value="Receive (+ open)" />
and looks like when parsed with data, it parses the + as a jquery concatenation.
data: 'someval=' + $("input[name=someval]").val(),
This is the first time I notice this behavior.
- First, how do I solve it.
- Second, I have no way of knowing when the output might have these special chars, so is there a known best practice way to escape input so that whenever it happens we’re covered?
Thanks
Try
encodeURIComponent:Better yet, let jQuery handle it for you:
jQuery will automatically escape your values (and keys) into the correct format (using
jQuery.param()) for the data type (eg"application/x-www-form-urlencoded").