0
我試圖使用Javascript獲取選定的值並將值發送到服務器端以便使用Laravel-PHP進行處理。這是迄今爲止我寫的ocde,但我沒有在服務器端得到它,有什麼我需要做更多?使用JavaScript從下拉菜單L-5.1中獲取選定的值
這是刀片文件:
{!! Form::open(array('url' => 'created-products', 'method' => 'post'), array('id'=>'createproduct')) !!}
{!! Form::token() !!}
@if(!Auth::check())
<p><h3>Please login to create product</h3></p>
@else
<p>{!! Form::select('companyname', array('' => 'Select a Company') + $listCompanies, null, array('id'=>'companynameId')) !!} </p>
<p>{!! Form::text('productname', Input::old('productname')) !!}</p>
<p>{!! Form::hidden('hiddenCompanyName', '', array('id'=>'selectedCompanyHidden')) !!}</p>
<p>{!! Form::submit('CREATE PRODUCT') !!}</p>
@endif
<script>
var returnedCompany = document.getElementById("companynameId");
var storedCompany = returnedCompany.options[returnedCompany.selectedIndex].value;
var hiddenCompanyId = document.getElementsByName('hiddenCompanyName');
document.createproduct.hiddenCompanyId.value = storedCompany;
document.forms["createproduct"].submit();
</script>
{!! Form::close() !!}
這是從刀片文件中獲取價值的功能:
private static function compareCompany(ProductRequest $productRequest){
$companyPicked = $productRequest->hiddenCompanyName;
$listedCompanies = Company::where('user_id', '=', Auth::user()->id);
$companies = new Company;
if($companies->user_id === Auth::user()->id)
{
foreach($listedCompanies as $company) {
if($company->companyname === $companyPicked)
{
return $company->id;
}
}
}
}
這是將其保存到數據庫的功能。
public function store(ProductRequest $productRequest)
{
$product = new Product;
$company = new Company;
if($productRequest->isMethod('post')){
$product->user_id = Auth::user()->id;
$product->company_id = $this->compareCompany($productRequest);
$product->companyname = $productRequest->companyname;
$product->productname = $productRequest->productname;
$product->save();
return redirect()->route('companyindex')->with('message', 'Your question has been posted.');
}else{
return redirect('company-create')->withErrors($productRequest)->withInput();
}
}
請幫忙。我已經有好幾天了。欣賞。
'getElementsByName'返回(X)HTML文檔中給定名稱的節點列表集合。試試這個:var returnedCompany = document.getElementById(「companynameId」); var storedCompany = returnedCompany.value;document.getElementById('selectedCompanyHidden')。value = storedCompany document.forms [「createproduct」]。submit();' – Rayon
謝謝,Rayon,我現在就試試看。 – kehinde