我正在使用jquery validate来检查我的数据库中的现有电话号码。我正在使用jquery validate remote属性。
remote: {
url: "ajax-checkmobile.php",
type: "post",
data: {
cust_id: function() {
return $("#cust_id").val();
}
}
}
但是这会阻止通过POST在表单提交上传递提交值。
<input name="Submitcustdata" type="submit" class="chromeButton" id="Submitcustdata" value="Edit Customer" /></td>
删除上面的代码后,提交值正确传递。知道什么可能阻止传递价值
答案 0 :(得分:1)
我开发了以下代码,我在使用AJAX提交表单的上下文中使用了该代码。这不完全是您的情况,但相同的代码将使您的<input type="submit">
值提交:
function submit_click() {
var $input = $(this);
var name = $input.attr('name');
if (typeof name == 'undefined') return;
var value = $input.attr('value');
var $form = $input.closest('form');
var $hidden = $('<input type="hidden" />').attr('name', name).attr('value', value);
$form.find('input[type=hidden][name="' + name + '"]').remove();
$form.append($hidden);
};
$(document).on('click', 'form.ajax input[type=submit]', submit_click);
我使用表单元素中的class="ajax"
来激活此代码。您可以根据自己的需要进行更改。
它做什么?它创建一个隐藏的表单输入,其名称和值与所单击的提交输入相同。因此,当帖子稍后以编程方式发生时,该值将被正确提交。
啊,你问what could be preventing value from being passed
...验证插件捕获表单提交,并执行其中的内容。验证后,它会触发表单提交。发生这种情况时,不 <input>
元素点击会再次触发表单提交。它是插件的JavaScript代码。因此,“<input>
”点击事件将丢失。这就是为什么它没有提交。 (有道理?如果这个解释写得不好,请告诉我。)
答案 1 :(得分:0)
验证可以阻止帖子发生以进行验证。这是设计的。
所以,如果它没有提交,那么它认为该字段无效,我猜。