Jquery提交修剪问题

时间:2013-12-16 18:03:49

标签: jquery

我有以下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;
});

3 个答案:

答案 0 :(得分:4)

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()
});

答案 1 :(得分:2)

试试这个:

$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());

答案 2 :(得分:1)

它正在文本框中提交值,更新它的值

$J("#forgot-password-email-address").val($J("#forgot-password-email-address").val().trim());

您之前没有更新文本框的值。