使用 jquery 在方法中发送参数
Posted
技术标签:
【中文标题】使用 jquery 在方法中发送参数【英文标题】:Sending Parameters in a method using jquery 【发布时间】:2018-04-11 01:57:28 【问题描述】:如何为表单提交方法发送参数??
这就是我正在尝试的。
form.submit().val('#result').val(); // this doesnt work
我想将$('#result')
的值发送到表单提交方法。 IE。当我单击表单中的提交按钮时,$(#result).val()
有一个元素数组,必须将其作为参数发送给提交方法。 #result
是一个段落。这是一个POST方法
<form method="post" action="url('api/v1/vendors/store')">
<u><h1> New Vendor</h1></u>
<div class="form-group row" id="myform">
-- insertion for addresss table --
<label for="lgFormGroupInput" class="col-sm-2 col-form-label col-form-label-lg">Bank A/C Number</label>
<div class="col-sm-10">
<input type="text" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="A/c Number" name="bank_account_no">
</div>
</div>
<div class="form-group row">
<label for="smFormGroupInput" class="col-sm-2 col-form-label col-form-label-sm">Bank Account Name</label>
<div class="col-sm-10">
<input type="text" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="Bank Account Name" name="bank_account_name">
</div>
</div>
<div class="form-group row">
<label for="smFormGroupInput" class="col-sm-2 col-form-label col-form-label-sm">Account Type</label>
<div class="col-sm-10">
<input type="text" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="A/c Type eg: sa, ca" name="account_type">
</div>
</div>
<div class="form-group row">
<label for="smFormGroupInput" class="col-sm-2 col-form-label col-form-label-sm">Name</label>
<div class="col-sm-10">
<input type="text" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="Name" name="name">
</div>
</div>
<div class="form-group row">
<label for="smFormGroupInput" class="col-sm-2 col-form-label col-form-label-sm">Short code</label>
<div class="col-sm-10">
<input type="text" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="Eg: INF, KFC" name="code">
</div>
</div>
<div class="form-group row">
<label for="smFormGroupInput" class="col-sm-2 col-form-label col-form-label-sm">Active</label>
<div class="col-sm-10">
Activate <input type="checkbox" name="active" value="1" checked> <br>
-- <input type="number" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="Activation Status 0 or 1" name="active" > --
</div>
</div>
<div class="form-group row">
<label for="smFormGroupInput" class="col-sm-2 col-form-label col-form-label-sm">verified</label>
<div class="col-sm-10">
Verified <input type="checkbox" name="verified" value="1" checked> <br>
-- <input type="number" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="Verification Status 0 or 1" name="verified" > --
</div>
</div>
<div class="form-group row">
<label for="smFormGroupInput" class="col-sm-2 col-form-label col-form-label-sm">verified_date</label>
<div class="col-sm-10">
<input type="text" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="Date" name="verified_date">
</div>
</div>
<div class="form-group row">
<label for="smFormGroupInput" class="col-sm-2 col-form-label col-form-label-sm">address_id</label>
<div class="col-sm-10">
<input type="number" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="Address ID fk" name="address_id">
</div>
</div>
<div class="form-group row">
<label for="smFormGroupInput" class="col-sm-2 col-form-label col-form-label-sm">PAN Number</label>
<div class="col-sm-10">
<input type="text" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="PAN Number" name="pancard_no">
</div>
</div>
<div class="form-group row">
<label for="smFormGroupInput" class="col-sm-2 col-form-label col-form-label-sm">Phone</label>
<div class="col-sm-10">
<input type="text" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="Phone" name="phone_no">
</div>
</div>
<div class="form-group row">
<label for="smFormGroupInput" class="col-sm-2 col-form-label col-form-label-sm">Contact Person</label>
<div class="col-sm-10">
<input type="text" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="Contact Name" name="contact_person">
</div>
</div>
<div class="form-group row">
<label for="smFormGroupInput" class="col-sm-2 col-form-label col-form-label-sm">Contact Email</label>
<div class="col-sm-10">
<input type="email" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="email" name="contact_email">
</div>
</div>
-- submit button --
<div class="form-group row">
<div class="col-md-2"></div>
<input type="submit" class="btn btn-primary">
</div>
</form>
</div>
<script>
$(document).ready(function()
$.fn.serializeObject = function()
var o = ;
var a = this.serializeArray();
$.each(a, function()
if (o[this.name] !== undefined)
if (!o[this.name].push)
o[this.name] = [o[this.name]];
o[this.name].push(this.value || '');
else
o[this.name] = this.value || '';
);
return o;
;
$(function()
$('form').submit(function()
$('#result').text(JSON.stringify($('form').serializeObject()));
// $('#result').text(JSON.stringify($('form').serializeObject()));
form.submit().val('#result');
//return false;
);
);
);
</script>
<h2>JSON</h2>
<pre id="result">
</pre>
【问题讨论】:
您是通过 ajax 还是 form action 提交表单? 使用表单动作提交,#result值包含一个json数组。 请分享您的html代码 如果#result 是段落元素,使用 ('#result').text() 方法获取值 只是想知道当我点击提交时如何发送#result 的值。谢谢:D 【参考方案1】:如果你使用 ajax 会容易得多,
调整您的代码,而不是发送参数,您可以传递整个元素,其值来自您的 <pre>
标记在您的表单提交中,
并创建一个在单击提交按钮时将运行的函数。
--html--
在您的表单上添加一个 ID为您的提交按钮添加一个 id<form id="yourForm"> </form>
<div class="form-group row"> <div class="col-md-2"></div> <input type="submit" class="btn btn-primary" id="SubmitBtn"> </div>
--javascript--
$(document).on("click","#SubmitBtn", function()
var pre_code = $("#result").html();
$('#yourForm').append("<textarea name='myparam'>"+pre_code+"</textarea>");
$('#yourForm').submit();
);
--api/v1/vendors/存储文件--
然后你可以访问你的参数
$result = $_POST['myparam'];
【讨论】:
非常感谢伙计。如果我使用的是原始 php,这将完美无缺,但我使用的是 laravel,除了 json api 数据,你不能发送任何东西。如果您注意到 iv'e 已将表单数据转换为 Json。只需要通过他们。使用提交发送数组。 url('api/v1/vendors/store')" > 这里 /store 是一个方法。以上是关于使用 jquery 在方法中发送参数的主要内容,如果未能解决你的问题,请参考以下文章