表单中的数据未使用javascript中的serialize()获取
Data in the form not getting using serialize() in javascript
下面是html文件中的表单html文件
<blc:form value method=POST action="@{/cart/add}">
.....
.....
<div>
<input class="btn btn-success" type="button" value="Add to Cart" id="addToCart"/> <!-- submit button -->
</div>
<div id="productInCart"></div>
......
</div>
</blc:form>
从上面的表单中,我需要通过获取请求处理的动作url和表单数据来发送ajax
请求。
JavaScript
$document.on('click','#addToCart',function(e){
alert('test1')
var url = $(this).button.parents('form').attr('action')
var data= button.parents('form').serialize()
alert("request data:-"+data)//control is not reaching up to here
$.ajax({
type: "POST",
url: url,
data: data,
success: function(data){
$("#productInCart").html("")
$("#productInCart").html(data)
alert('success')
}
error: function(){
alert('fail')
}
});
});
控件正在进入功能并打印alert
。我可以从上面的表单中获取动作属性值,但无法获取数据。我正在使用serialize()
获取表单数据。有人能帮我如何获取表格数据吗?
好吧,在读取数据时有一个额外的点符号,我也会使用closest
而不是parents
,因为它有一个更预期的行为:
button.parents.('form').serialize()
--------------^ here
因此:
button.closest('form').serialize()
此外,这里还缺少一个逗号:
$.ajax({
type: "POST",
url: url,
data: data
----------^ here
因此:
$.ajax({
type: "POST",
url: url,
data: data,
...
应该有效,否则看起来没问题。
您没有在代码中定义button
。如前所述,应该使用closest
而不是parents
,因为parents
针对多个元素。以下是您尝试做的工作示例:
$(document).on('click', '#submit', function() {
var $button = $(this),
$form = $button.closest('form'),
url = $form.attr('action'),
data = $form.serialize();
$('#log').html('Url: ' + url + '<br/> data: ' + data)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="my/url">
<input type="text" name='input' value='test value'>
<input type="checkbox" name='a' value='1' checked>
<input type="button" value='submit' id='submit'>
</form>
<div id="log"></div>
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jquery试图按名称获取按钮位置
- 如何在jQuery中获取元素的形式
- 如何在php文件中获取$.post-ajax传递的值
- 在Shopify中获取博客文章的图片
- 使用Javascript获取所选选项ID
- 在jQuery中获取表的行索引
- 使用jquery将mysql数据获取到新的表行中
- 在动态创建的元素上获取对特定选择器的引用
- 从城市名称获取惊喜
- Angular只从数组中获取所需的数据
- 无法将数据从firebase获取到我的html页面
- 从ajax请求中获取javascript对象
- 如何从画布上的某个移动事件中获取X和Y
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 表单中的数据未使用javascript中的serialize()获取
- 有没有一种方法可以在jQuery.serialize()之前获取表单数据,或者与jQuery.sserialize(()
- 使用form.serialize获取正确的复选框值
- 如何在asp.net mvc中使用Serialize方法获取数据
- 如何使用jQuery .serialize()获取get参数的成功控件和不成功控件?