小编Bra*_*age的帖子

如何从提交按钮获取formmethod和formction

我原本以为表单对象会填充formmethod和formaction.

问题:有没有办法进行编队?或者找出单击表单中的哪个按钮,从按钮访问它们?

我是否需要重写我的事件处理程序以捕获按钮($(document).on('click', '.myformbtn', function(e))上的点击并用于var queryString= $(this).parent('form').serialize();访问表单.

<form>
    <button type="submit"
            formmethod="POST"
            formaction="/mysave">Save</button>

    <button type="submit"
            formmethod="GET"
            formaction="/mydata">Get new data</button>
</form>

$(document).ready(function()
{
    $(document).on('submit', 'form', function(e) {
        e.preventDefault();
        var formaction = $(this).getFormAction();
        var queryString= $(this).serialize();

        $.ajax({
                type: formmethod,
                 url: formaction,
                data: queryString
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

我发现了类似的问题,答案总是$(this).attr('formaction')不正确,因为表单没有该属性.我希望提供一个如何使用它将让人们的大脑工作的例子.

javascript forms jquery html5

6
推荐指数
1
解决办法
2630
查看次数

添加到 Symfony 表单操作

我创建了一个带有选项卡的页面(使用引导程序),并且所有选项卡都有自己的表单。而且它们都工作得很好。我的问题是当我收到表单错误时,我想打开错误所在的选项卡。

我当前的控制器代码:

public function add(Request $request, EntityManagerInterface $em): Response {

    $this->denyAccessUnlessGranted('ROLE_USER');

    $entityAdd = new \App\Entity\add();
    $form = $this->createForm(\App\Form\Add::class, $entityAdd);

    $form->handleRequest($request);
    if ($form->isSubmitted() && $form->isValid()) {
Run Code Online (Sandbox Code Playgroud)

AddFormType.php 中的函数

    public function buildForm(FormBuilderInterface $builder, array $options) {
        $builder
                ->add(...)
                ->add(...)
                ->add(...)
                ->getForm()
        ;
    }
Run Code Online (Sandbox Code Playgroud)

我不是自己创建表单,我使用的是 symfony 表单组件,但我不确定如何修改表单方法以将表单哈希(例如 /add#list-tab1)添加到表单方法中。

{{ form_start(AddForm) }}

{{ form_row(AddForm.name1) }}
{{ form_row(AddForm.name2) }}
{{ form_row(AddForm.save) }}

{{ form_end(AddForm) }}
Run Code Online (Sandbox Code Playgroud)

symfony-forms symfony bootstrap-4

0
推荐指数
1
解决办法
624
查看次数

Symfony 6 装置 UserPasswordHasherInterface

我们如何在固定装置中使用 UserPasswordHasherInterface 在 Symfony 6 中创建用户?

//App/DataFixtures/AppFixtures.php

namespace App\DataFixtures;

use App\Entity\User;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Persistence\ObjectManager;
use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;

class AppFixtures extends Fixture
{
    private $manager;

    public function load(ObjectManager $manager, UserPasswordHasherInterface $userPasswordHasherInterface): void
    {
        $this->manager = $manager;

        $user = new User();
        $user->setEmail("test@example.com");
        //$user->setPassword("test_pass");
        $user->setPassword(
            $userPasswordHasherInterface->hashPassword(
                $user, "test_pass"
            )
        );

        $user->setFirstName("Fixture First 1");
        $user->setLastName("Fixture Last 1");

        $this->manager->persist($user);
        $this->manager->flush();
    }
}
Run Code Online (Sandbox Code Playgroud)

返回错误

Fatal error: Declaration of App\DataFixtures\AppFixtures::load(Doctrine\Persistence\ObjectManager $manager, Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface $userPasswordH
asherInterface): void must be compatible with Doctrine\Common\DataFixtures\FixtureInterface::load(Doctrine\Persistence\ObjectManager $manager) in C:\wamp64\www\example.com\src\DataFixtures
\AppFixtures.php on line 14 …
Run Code Online (Sandbox Code Playgroud)

php symfony

0
推荐指数
1
解决办法
2622
查看次数

标签 统计

symfony ×2

bootstrap-4 ×1

forms ×1

html5 ×1

javascript ×1

jquery ×1

php ×1

symfony-forms ×1