我正在使用ajax和JQuery來序列化我的表單並將數據發送到我的insert.php頁面,以便將其插入到我的數據庫中。JQuery .serialize發送默認值
我刪除窗體form.serialize中空的任何輸入。這是爲了確保這些值作爲NULL插入到我的數據庫中。
我必須爲每個輸入設置一個默認值,我假設,使這個過程工作。
但是,當我這樣做時,我發現當表單被序列化時,那些設置爲空默認值的輸入不會被髮送。看起來像.serialize發送輸入的默認值,而不是用戶輸入到輸入中的內容。
我該如何解決這個問題?
下面是我如何設置我的形式,有一個空白的默認值的輸入:
<div class="col-md-6">
<div class="form-group">
<label class="control-label">Item Price</label>
<div class="input-icon right">
<i class="fa"></i>
<input type="text" id="item_price" name="item_price" class="currency_mask form-control" value="">
</div>
</div>
</div>
以下是我在我的AJAX忽略從.serialize空值:
$.ajax({
url: "ajax_insert.php?table=invoice_item",
type: "post",
dataType: 'json',
data: $("#item_form :input[value!='']").serialize(), //remove blank inputs so they aren't passed into the db and are inserted as NULL
success: ....
無論輸入/輸入到項目價格字段中,默認值都是從表單中使用的。由於默認值不爲空,因此從.serialize中省略。
我絕對需要從序列化中省略空白輸入,以便在我的數據庫中將字段設置爲NULL。所以這就是爲什麼我在表單序列化之前忽略它們的原因。
我認爲應該是'$(this).serialize()' – aldrin27