Autor Tópico: Ao clicar em enviar nada acontece - form na blank  (Lida 914 vezes)

Celso R.

  • Expert
  • *****
  • Mensagens: 941
Ao clicar em enviar nada acontece - form na blank
« Online: Julho 31, 2015, 06:50:23 pm »
Tenho o seguinte código na blank_form:
Código: [Selecionar]

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title></title>
    <link href="../_lib/mylib/enquete_form/css/style.css" media="screen" rel="stylesheet" type="text/css"/>
    <link href="../_lib/mylib/enquete_form/css/uniform.css" media="screen" rel="stylesheet" type="text/css"/>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
    <script type="text/javascript" src="../_lib/mylib/enquete_form/js/jquery.tools.js"></script>
    <script type="text/javascript" src="../_lib/mylib/enquete_form/js/jquery.uniform.min.js"></script>
    <script type="text/javascript" src="../_lib/mylib/enquete_form/js/main.js"></script>
</head>
<body>
<div class="TTWForm-container">
     <form action="../blank_processa/index.php" class="TTWForm" method="post" novalidate="">     
         
          <div id="field1-container" class="field f_100 radio-group required">
               <label for="field1-1">
                    É a primeira vez que você vem a nossa empresa?
               </label>               
               
               <div class="option clearfix">
                    <input type="radio" name="pergunta_001" id="field1-1" value="S">
                    <span class="option-title">
                         Sim
                    </span>

               <div class="option clearfix">
                    <input type="radio" name="pergunta_001" id="field1-2" value="N">
                    <span class="option-title">
                         Não
                    </span>       
         
          <div id="field2-container" class="field f_100 radio-group required">
               <label for="field2-1">
                    Como soube do Nome Empresa?
               </label>               
               
               <div class="option clearfix">
                    <input type="radio" name="pergunta_002" id="field2-1" value="Fachada">
                    <span class="option-title">
                         Fachada
                    </span>
                   
               <div class="option clearfix">
                    <input type="radio" name="pergunta_002" id="field2-2" value="Radio 1">
                    <span class="option-title">
                         Rádio 1
                    </span>
               
               <div class="option clearfix">
                    <input type="radio" name="pergunta_002" id="field2-3" value="Radio 2">
                    <span class="option-title">
                         Rádio 2
                    </span>
               
               <div class="option clearfix">
                    <input type="radio" name="pergunta_002" id="field2-4" value="Radio 3">
                    <span class="option-title">
                         Rádio 3
                    </span>
                    <br>
               
               <div class="option clearfix">
                    <input type="radio" name="pergunta_002" id="field2-5" value="Radio 4">
                    <span class="option-title">
                         Rádio 4
                    </span>
                    <br>
         
          <div id="field3-container" class="field f_100 radio-group required">
               <label for="field3-1">
                    Sobre o você
               </label>             
               
               <div class="option clearfix">
                    <input type="radio" name="pergunta_003" id="field3-1" value="Option 1">
                    <span class="option-title">
                         Option 1
                    </span>
               <div class="option clearfix">
                    <input type="radio" name="pergunta_003" id="field3-2" value="Option 2">
                    <span class="option-title">
                         Option 2
                    </span>
               
               <div class="option clearfix">
                    <input type="radio" name="pergunta_003" id="field3-3" value="Option 3">
                    <span class="option-title">
                         Option 3
                    </span>
          <div id="form-submit" class="field f_100 clearfix submit">
               <input type="submit" value="Enviar">
     </form>
</body>
</html>
<?
Quero que ao clicar no botão ele vá para:
blank_processa cujo o código está abaixo:
Código: [Selecionar]

$form = new ProcessForm();
$form->field_rules = array(
   'pergunta_001'=>'required',
   'pergunta_002'=>'required',
   'pergunta_003'=>'required'
);

//echo $form->field_rules['pergunta_001'].'<br />';
//echo $form->field_rules['pergunta_002'].'<br />';
//echo $form->field_rules['pergunta_003'].'<br />';

$form->validate();

class ProcessForm
{
    public $field_rules;
    public $error_messages;
    public $fields;
    private $error_list;
    private $is_xhr;

    function __construct()
    {
        $this->error_messages = array(
            'required' => 'This field is required',
            'email' => 'Please enter a valid email address',
            'number' => 'Please enter a numeric value',
            'url' => 'Please enter a valid URL',
            'pattern' => 'Please correct this value',
            'min' => 'Please enter a value larger than the minimum value',
            'max' => 'Please enter a value smaller than the maximum value'
        );

        $this->field_rules = array();
        $this->error_list = '';
        $this->fields = $_POST;
        $this->is_xhr = $this->xhr();
    }

    function validate()
    {
        if (!empty($this->fields))
        {
            //Validate each of the fields
            foreach ($this->field_rules as $field => $rules)
            {
                $rules = explode('|', $rules);

                foreach ($rules as $rule)
                {
                    $result = null;

                    if (isset($this->fields[$field]))
                    {
                        $param = false;

                        if (preg_match("/(.*?)\[(.*?)\]/", $rule, $match))
                        {
                            $rule = $match[1];
                            $param = $match[2];
                        }

                        $this->fields[$field] = $this->clean($this->fields[$field]);

                        //if the field is a checkbox group create string
                        if (is_array($this->fields[$field]))
                            $this->fields[$field] = implode(', ', $this->fields[$field]);

                        // Call the function that corresponds to the rule
                        if (!empty($rule))
                            $result = $this->$rule($this->fields[$field], $param);


                        // Handle errors
                        if ($result === false)
                            $this->set_error($field, $rule);
                    }
                }
            }

            if (empty($this->error_list))
            {
                if ($this->is_xhr)
                    echo json_encode(array('status' => 'success'));

                $this->process();
            }
            else
            {
                if ($this->is_xhr)
                    echo json_encode(array('status' => 'invalid', 'errors' => $this->error_list));
                else echo $this->error_list;
            }
        }
    }

    function process()
    {
      echo $form->field_rules['pergunta_001'].'<br />';
      echo $form->field_rules['pergunta_002'].'<br />';
      echo $form->field_rules['pergunta_003'].'<br />';

    }

    function set_error($field, $rule)
    {
        if ($this->is_xhr)
        {
            $this->error_list[$field] = $this->error_messages[$rule];
        }
        else $this->error_list .= "<div class='error'>$field: " . $this->error_messages[$rule] . "<>";
    }


    function xhr()
    {
        return (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') ? true : false;
    }

    /** Validation Functions */
    function required($str, $val = false)
    {

       if (!is_array($str))
        {
            $str = trim($str);
            return ($str == '') ? false : true;
        }
        else
        {
            return (!empty($str));
        }
    }

    function email($str)
    {
        return (!preg_match("/^(?!(??:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){255,})(?!(??:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){65,}@)(??:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22))(?:\\.(??:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22)))*@(???!.*[^.]{64,})(???:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*\\.){1,126}){1,}(??:[a-z][a-z0-9]*)|(??:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:\\[(??:IPv6:(??:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(??!(?:.*[a-f0-9][:\\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?:?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(??:IPv6:(??:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(??!(?:.*[a-f0-9]{5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?:?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(??:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\\.(??:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\\]))$/iD", $str)) ? false : true;
    }

    function number($str)
    {
        return (!is_numeric($str)) ? false : true;
    }

    function min($str, $val)
    {
        return ($str >= $val) ? true : false;
    }

    function max($str, $val)
    {
        return ($str <= $val) ? true : false;
    }

    function pattern($str, $pattern)
    {
        return (!preg_match($pattern, $str)) ? false : true;
    }

    function clean($str)
    {
        $str = is_array($str) ? array_map(array("ProcessForm", 'clean'), $str) : str_replace('\\', '\\\\', strip_tags(trim(htmlspecialchars((get_magic_quotes_gpc() ? stripslashes($str) : $str), ENT_QUOTES))));
        return $str;
    }
}
Ao clicar em enviar nada acontece. Onde posso estar errando?
« Última modificação: Julho 31, 2015, 06:55:41 pm por Celso R. »
Celso R.
________________________________
SC - V 8

Haroldo

  • Expert
  • *****
  • Mensagens: 6267
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Ao clicar em enviar nada acontece - form na blank
« Responder #1 Online: Julho 31, 2015, 07:16:39 pm »
Inspecione a página e veja se existem erros JavaScript.

Esse main js não falta ponto?

Jailton

  • Expert
  • *****
  • Mensagens: 2030
Re:Ao clicar em enviar nada acontece - form na blank
« Responder #2 Online: Julho 31, 2015, 07:38:09 pm »
Aqui tá normal, o botão tá apontando para: ../blank_processa/index.php não seria: ../blank_processa/blank_processa.php


Gosto de usar para JotForm para formulários e Quiz:
http://developers.jotform.com/

O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

Celso R.

  • Expert
  • *****
  • Mensagens: 941
Re:Ao clicar em enviar nada acontece - form na blank
« Responder #3 Online: Julho 31, 2015, 08:46:41 pm »
Haroldo está correto não falta o ponto
Jailton sobre o caminho alterei mas não surtiu efeito.
Sobre o JotForm legal não conhecia ele.
fora do SC funciona dentro já não.
Celso R.
________________________________
SC - V 8