【问题标题】:how can i use the function isClicked() to fill the database?如何使用函数 isClicked() 填充数据库?
【发布时间】:2015-05-05 11:20:51
【问题描述】:
public function addAction(){

  $em = $this -> getDoctrine() -> getEntityManager();
  $a = new Button;
  $form = $this -> createForm(new ButtonType());

  $request = $this->get('request');
  $value=0;
  if($request->getMethod() == 'POST'){
    $form->handleRequest($request);
    $value = $form->get('addButton')->isClicked();
    echo $value;
    if($value =1){
      $a ->setTextBox(1)
     ->setPlainText(1)
     ->setCheckBox(1)
     ->setRadio(1)
     ->setButton(1);
      $em ->persist($a);
        $em ->flush();
    }
  }    

  return $this->render('PagePageBundle:Default:add.html.twig', array( 'form' => $form -> createView(),));
}

我想通过单击表单中创建的按钮来填充数据库(需要帮助)

【问题讨论】:

    标签: php symfony symfony-forms


    【解决方案1】:

    方法 isClicked 返回一个布尔值,如 doc 中所述,因此您可以简单地检查这一点(在您的代码中,您编写了错误的 if 语句:= 而不是 ==)

    所以试试这个代码:

    $value = $form->get('addButton')->isClicked();
        var_dump($value);
        if($value){
            $a ->setTextBox(1)
               ->setPlainText(1)
               ->setCheckBox(1)
               ->setRadio(1)
               ->setButton(1);
            $em ->persist($a);
            $em ->flush();
      }
    

    希望有帮助

    【讨论】:

    • 谢谢!但是当我刷新页面值时我仍然有一个问题,所以数据库会自动填充
    • 是的,如果您刷新并确认页面提交正常,如果您不希望出现这种行为,我建议您在提交正确提交的情况下重定向到另一个页面。
    猜你喜欢
    • 2015-01-27
    • 2013-05-03
    • 1970-01-01
    • 2013-09-27
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 2020-03-04
    • 1970-01-01
    相关资源
    最近更新 更多