问题是我无法使用 Input::get() 获取 Bootstrap 模式文本区域输入值,它返回 null。
Modal 的提交和文本输入(我的看法):
<button type="button" class="btn btn-danger" onclick="customModalSubmitFunction('modalID')">Submit</button>
JS函数:
function customModalSubmitFunction(modalID){
$.ajax({
type: "POST",
url: "urlRouteToController"
});
}
Route.php路由
Route::post('urlRouteToController', array(
'uses' => 'myController@insertValueIntoDatabase',
'as' => 'urlRouteToController'
));
Controller
public function myController(){
$dbModel = new Model;
$dbModel->column1 = Input::get('textbox1');
$dbModel->save();
}
总之,我无法使用 Input::get('textbox1') 获取发布的数据。但是将数据作为空值插入数据库(因为我无法获取文本框值)部分有效。
提前致谢。
最佳答案
假设您正在添加新用户的 Controller (仅作为示例)。 首先,我在构造函数中设计模型用户,以便名为 myController 的函数可以以一种漂亮/干净的方式使用它。然后我调用模型中的一个函数。
Use Illuminate\Http\Request;
Use App\Models\Users;
class className extends baseController
{
private $users;
function __construct(Users $users) {
$this->users = $users;
}
public function myController(Request $request) {
$this->users->createUser($request);
}
}
模型需要与数据库中的表具有完全相同的名称,因此假设我们有一个名为 Users 的表,我们的模型类将是 Users。变量 fillable 确保只有给定的字段可以更改 is 以保护诸如成员身份之类的东西。 该函数将在数据库中创建一条新记录并对用户密码进行哈希处理。
use Illuminate\Database\Eloquent\Model as Eloquent;
class Users extends Eloquent
{
protected $fillable = ['username', 'password'];
public function createUser($request) {
$this->create([
'username' => $request->username,
'password' => \Hash::make($request->password)
]);
}
}
然后表单需要有一个名为 username 的字段和一个名为 password 的字段。 或者,如果您想使用 ajax 请求执行此操作,您可以这样做,请注意我在此示例中使用的是输入字段的 ID。
function customModalSubmitFunction(modalID){
$.ajax({
type: "POST",
url: "urlRouteToController"
data: {'username' : $('#username').val(), 'password': $('#password').val()}
});
}
我正在使用 laravel 5,所以我不确定它是否能正常工作,但我希望它能帮助你
关于php - 如何使用 Laravel、Bootstrap Modal 和 Ajax 将数据发布和插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30452045/