我有以下html,希望在提交之前修剪忘记密码的电子邮件地址输入值。
<form action="passwordpost/" method="post" id="forgot-password-form">
<label for="username">Email Address</label>
<input type="text" id="forgot-password-email-address" class="required" name="email" value=""><br/><br/>
<button type="submit" title="Find" class="form-button button forgotpasswordpost" name="submit" id="forgotpasswordpost-btn" style="float:right;">
<span><span>Send My Password</span></span>
</button>
</form>
下面是我的jQuery,但它没有提交带有修剪输入的表单。它提交了,但仍有空白。
$J("#forgot-password-form").submit(function(event){
$J("#forgot-password-email-address").val().trim();
return true;
});
val()
和trim()
都返回字符串,它们不修改字符串。您需要重置值:
var $field = $J("#forgot-password-email-address");
$field.val($field.val().trim());
如未定义的建议,使用回调版本可能会更好:
$J("#forgot-password-email-address").val(function(idx, value) {
return value.trim();
//return $.trim(value); // could also use jQuery's trim()
});
试试这个:
$J("#forgot-password-email-address").val($J("#forgot-password-email-address").val().trim());
您的代码只是修剪输入的值,而不是将其设置为元素。
它的一个小版本:
var el = $J("#forgot-password-email-address");
el.val(el.val().trim());
它正在提交文本框中的值,更新其值
$J("#forgot-password-email-address").val($J("#forgot-password-email-address").val().trim());
您以前没有更新文本框的值。