我使用一个html表单来使用laravel-php获取用户数据。在表单提交时,我正在执行一个api,在Web.php中它被定义为
Route::post('/register_user', 'UserRegistrationController@registerUser');
执行
public function registerUser(Request $request){
$apiResult = $this->executeApi($request->input('mobile_no'));
if($apiResult === "Success"){
return view('further_view');
}else{
toastr()->error('Registration Failed. Please check mobile number.');
return back();
}
}
html代码
<div class="form-group{{ $errors->has('mobile_no') ? ' has-error' : '' }}">
<label for="mobile_no">Mobile No</label>
<input type="text" name="mobile_no" class="form-control" id="mobile_no" value="{{ old('mobile_no') }}" placeholder="Enter Mobile No" required>
<small class="text-danger">{{ $errors->first('mobile_no') }}</small>
</div>
我的问题是,每当我的$apiResult===";成功;条件为false,屏幕上显示toast消息,但页面被刷新,用户输入的所有数据都从输入框中清除。因此,我的问题是,如何在不清除表单的情况下显示toast消息,或者在这种情况下如何防止输入框被清除。
我正在使用这个Toast库https://github.com/yoeunes/toastr
我建议您使用会话来存储数据。例如:
session()->put('forms.mobile_no', $request->get('mobile_no'));
您的HTML:
<input value="{{ $mobile_no }}" type="text" name="mobile_no" class="form-control" id="mobile_no" placeholder="Enter Mobile No" required>
尝试在烤面包机调用后返回错误消息:
return redirect->back()->withInput();