2017-05-08 59 views
0

我在這種情況下有問題,如何提交表單提交其他形式不同的URL ....提交表單,形成不同的URL

例如:

form1.php:

<form> 
    <input type="text" name="name" id="name"> 
    <input type="submit" href="#" class="btn btn-info btn-sm" value="submit"> 
</form> 

form2.html:

<form> 
    <input type="text" name="name" id="name"> 
    <input type="submit" href="#" class="btn btn-info btn-sm" value="submit"> 
</form> 

我怎麼能在同一時間提交Form 1和Form?

+0

你爲什麼使用兩種形式?使用名稱,如name [],給你輸入字段的數組,然後提交。 –

+0

@Sagar,因爲機器中的form2不支持php文件。任何示例我如何提交? –

+0

您可以使用刀片式文件等可以定義表單然後提交的laravel視圖。你是否試圖通過Ajax調用提交? –

回答

0

我不是laravel的專家,所以下面是JS中的實現。如下所示使用並使其不可見在form1.php

移動form2.html:

<iframe src="form2.html" style="display:none" name="form2"></iframe> 

然後在form1.php,使以下變化:

<form onsubmit="return false"> 
<input type="text" name="name" id="name"> 
<input type="button" href="#" class="btn btn-info btn-sm" value="submit" onclick="submitForm()"> 
</form> 

在這裏,我們卸下默認提交表單的動作,而我們在提交按鈕被打時調用submitForm()函數。

function submitForm(){ 
//first we will submit form2.html 
window.frames["form2"].document.forms[0].submit(); 
document.forms[0].submit(); 
} 
0

使用單個窗體太容易了。使用名稱的數組輸入,如:

<form action="{{URL::to('create/name')}}" class="form-horizontal" method="POST" role="form"> 
     {{ csrf_field() }} 
     <div class="form-group"> 
      <div class="col-sm-6"> 
       <label>Name One</label> 
       <input type="text" name="name[]" class="form-control"> 
      </div> 
      <div class="col-sm-6"> 
       <label>Name Two</label> 
       <input type="text" name="name[]" class="form-control"> 
      </div> 
     </div> 
    <button class="btn btn-default pull-right" type="submit">Submit</button> 
</form> 

現在你可以在web.php定義路線

Route::post('create/name','[email protected]'); 

最後寫一些邏輯NameController創建名稱:

public function postName(Request $request) 
{ 
    foreach($request->name as $name){ 
     //Write logic to create Name. 
    } 
} 

使用單刀片頁面,您可以在沒有Ajax調用的情況下提交像這樣的名稱。希望這可以幫助你。

+0

form2不同的機器,使用html文件不使用laravel。只有form1使用laravel –

+0

如果你想同時提交不同的機器,那麼將很難保持 –

+0

而我仍然不明白朮語「另一臺機器」 –