簡體   English   中英

jQuery和Laravel集成

[英]Jquery and Laravel Integration

我需要您的想法和提示,以使我可以使用此表格。 我正在嘗試為每個類別中的每個候選人創建一個評分,並且每個類別都有5條標准。 我所做的是在數據庫中動態獲取條件,並在輸入框中顯示它。 現在我的問題是如何保存數據庫以及條件ID以及每個條件的分數。這是我的代碼

    <form class="form-horizontal" role="form">
                  {{ csrf_field() }}
                    <div class="form-group col-sm-8" >
                    <input type="hidden"  id="canId" name="canId">
                    <input type="hidden"  id="catId" name="catId">
                    <input type="hidden"  id="judgeId" name="judgeId">
                    @foreach($dataCriteria as $Criteria)
                      <label class="col-sm-9" for="id">{{$Criteria->cri_name}}</label>
                      <div class="col-sm-3">
                        <input type="text" class="form-control" id="cri_{{$Criteria->id}}" name="cri_{{$Criteria->id}}" data-crid ="{{$Criteria->id}}" placeholder="1-10" required><br>
                      </div>    
                    @endforeach    

                    </div>
                      <div class="col-sm-4">
                      <img src="{{ asset('img/girl.jpeg') }}" alt="">
                      <h4 class="canfname text-center"></h4>
                      <p class="text-center"><em class="canbrgy"></em></p>
                      </div></form>

這是我的ajax代碼,但是缺少標准輸入。

$.ajax({
          type: 'post',
          url: 'candidates/rateCandidates',
          data: {
            '_token': $('input[name=_token]').val(),
            'canId': $('input[name=canId]').val(),
            'catId': $('input[name=catId]').val(),
            'judgeId': $('input[name=judgeId]').val()
          },
          success: function(data) {
            window.location.reload();  
            }
      });

請幫我...謝謝

首先,您需要序列化表單字段:

var serializedData = $(".form-horizontal").serialize();

並發送具有以下結構的Ajax請求:

$.ajax({
    url: URL,
    type: "POST",
    dataType: 'json',
    data: serializedData,
    success: function(data){
    }
});

使用這種方法,可以確保所有表單數據都像常規表單一樣發布。

我對登錄/注冊/忘記密碼ajax請求做了這種方法。

如果您有要發送到控制器的外部數據,請向表單中添加一個隱藏字段,如下所示:

<form class="form-horizontal" role="form">
    ...
    <input type="hidden"  id="extraDataField" name="extraDataField" value="{{$sampleVariable}}"/>
</form>

現在,當您序列化數據時,extraDataField將追加到表單中,並且在發布數據時您將在控制器中收到

您可以使用jquery validate提交表單。 我可以幫您起步,請參見以下示例:

 jQuery("#project_pages_form").validate({
        submitHandler: function (form) {
          //  showLoader('Working on your request<br /> It may take a while depending on the content.');
            //form.submit();
           var formData = new FormData(form);
            $.ajax({
                url: '{{ url("publishProjectPages") }}',
                type: 'POST',
                data: formData,
                contentType: false,
                processData: false,
                cache: false,
                dataType: 'JSON',
                success: function (json) {
                    showLoader('successful');

                },
                error: function (xhr, textStatus, errorThrown) {
                    toastr.clear();
                    toastr.error('Could not proceed your request. Please refresh the web page and try again.');

                }
            });


        }
        }); 

在您的控制器中,您可以返回如下響應:

public function publishProjectPages (Request $request)
{
    $response = array();

    $pages = $request->pagesChecks;

        $response['code'] = 204;
        $response['status'] = true;
        $response['message'] = 'success';

    return response()->json($response);

}

如果您將像上述方法一樣提交表單,則表單中的所有內容都會自動提交。

您可以對其進行進一步的驗證和表單提交處理程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM