【问题标题】:Sending Parameters in a method using jquery使用 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

标签: jquery forms post parameters submit


【解决方案1】:

如果你使用 ajax 会容易得多,

调整您的代码,而不是发送参数,您可以传递整个元素,其值来自您的 &lt;pre&gt; 标记在您的表单提交中, 并创建一个在单击提交按钮时将运行的函数。

--html--

  • 在您的表单上添加一个 ID
<form id="yourForm">
</form>
  • 为您的提交按钮添加一个 id
<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 是一个方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多