【问题标题】:laravel dusk insert data into input arraylaravel黄昏将数据插入输入数组
【发布时间】:2020-04-30 15:03:56
【问题描述】:

嗨,我正在使用 laravel 黄昏 我有这样的数组输入..

<input type='text' name='debits[]' />
<input type='text' name='debits[]' />

如何使用数组的键为第一个或第二个或特定输入添加值,如

public function create(Browser $browser)
{
    $browser
    ->select('journal_id',1)
    ->pause(100)
    ->click('.add-line')
    ->click('.add-line')
    // code here to add 10 to first debits
    // code here to add 15 to second debits

    ;
}

可以吗,非常感谢..

【问题讨论】:

标签: php laravel


【解决方案1】:

你可以这样做:

    $names = collect([
    
        'name1',
        'name2'
    
    ]);
    $this->browse(function ($browser) use ($names) {
                $browser->visit('/names');
                $names->each(function ($name, $key) {
                  $browser->type("array[$key]", $name);
                });
                $browser->press('Send');
            });

根据您的代码,您可以这样做:

public function create(Browser $browser)
{
    $browser
    ->select('journal_id',1)
    ->pause(100)
    ->click('.add-line')
    ->click('.add-line');
    
    $inputs = $browser->elements('input[name^="debits["]');
    $inputs[0]->sendKeys(10); // code here to add 10 to first debits
    $inputs[1]->sendKeys(15); // code here to add 15 to second debits
}

如果你想用 for 循环来做,你可以这样做:

$inputs = $browser->elements('input[name^="debits["]');
foreach ($inputs as $input) {
  $input->sendKeys('100');
}

【讨论】:

  • 我遇到此错误 no such element: Unable to locate element: {"method":"css selector","selector":"body textarea[name='debits[0]']"}
  • 但是如果我像这样更改代码 ->type("debits[]", 1) 它仅适用于第一个输入
  • 我再次更新了我的答案,如果您有任何问题,请告诉我。
猜你喜欢
  • 1970-01-01
  • 2017-09-26
  • 2018-02-23
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多