Para abrir uma caixa de texto e salvar seu conteúdo no $_POST
quando um link (<a>
) for clicado, você precisará usar JavaScript para manipular o evento de clique e capturar o valor inserido pelo usuário. Aqui está um exemplo de como você pode fazer isso:
<!DOCTYPE html>
<html>
<head>
<title>Exemplo de caixa de texto</title>
<script>
function salvarTexto() {
var texto = prompt("Digite seu texto:");
if (texto !== null) {
var form = document.createElement("form");
form.method = "post";
form.action = "seu_arquivo_php.php";
var input = document.createElement("input");
input.type = "hidden";
input.name = "texto";
input.value = texto;
form.appendChild(input);
document.body.appendChild(form);
form.submit();
}
}
</script>
</head>
<body>
<a href="#" onclick="salvarTexto()">Clique aqui para salvar um texto</a>
</body>
</html>
Neste exemplo, quando o link é clicado, a função salvarTexto()
é chamada. Ela exibe uma caixa de diálogo usando prompt()
onde o usuário pode digitar o texto desejado. Se o usuário clicar em “OK” e digitar algum texto, um formulário é criado dinamicamente usando document.createElement()
. Em seguida, um campo oculto (<input type="hidden">
) é criado e atribuído ao valor do texto digitado.
O formulário é anexado ao corpo (<body>
) do documento e é submetido automaticamente chamando o método submit()
. Isso enviará o formulário para o arquivo PHP especificado no atributo action
do formulário, usando o método HTTP POST. O texto digitado pelo usuário será acessível no arquivo PHP através do $_POST['texto']
.
Você precisará substituir "seu_arquivo_php.php"
pelo nome do seu arquivo PHP onde deseja processar o texto. Certifique-se de que o arquivo PHP exista e tenha a lógica adequada para lidar com os dados recebidos.
Se você deseja cancelar o evento do clique e obter o valor digitado pelo usuário na caixa de diálogo, e, retorná-lo para a página que contém o link, você pode fazer uso de uma função de retorno. Aqui está um exemplo atualizado:
<!DOCTYPE html>
<html>
<head>
<title>Exemplo de caixa de texto</title>
<script>
function salvarTexto() {
var texto = prompt("Digite seu texto:");
if (texto !== null) {
var form = document.createElement("form");
form.method = "post";
form.action = "seu_arquivo_php.php";
var input = document.createElement("input");
input.type = "hidden";
input.name = "texto";
input.value = texto;
form.appendChild(input);
document.body.appendChild(form);
form.submit();
return false; // Impede que o link seja seguido
}
}
</script>
</head>
<body>
<a href="#" onclick="return salvarTexto()">Clique aqui para salvar um texto</a>
</body>
</html>
Neste exemplo, além de criar o formulário dinamicamente e submetê-lo, adicionamos return false;
ao final da função salvarTexto()
. Isso impede que o link seja seguido, evitando a navegação para uma nova página. O retorno falso (false
) indica ao navegador para cancelar o evento de clique padrão e permanecer na mesma página.
Dessa forma, você pode obter o valor digitado pelo usuário na caixa de diálogo, enviá-lo para o arquivo PHP especificado e continuar na página atual sem recarregar ou mudar de página.
se você remover o return false;
da função salvarTexto()
, o link será seguido após a inserção do texto. Isso significa que, após o usuário digitar o texto na caixa de diálogo e clicar em “OK”, o navegador irá seguir o link <a>
e navegar para a URL especificada no atributo href
do link.
A inclusão do return false;
na função é necessária para impedir o comportamento padrão de seguir o link. Assim, você pode realizar a ação de envio do formulário e permanecer na mesma página, sem a necessidade de carregar uma nova página.
Se você remover o return false;
, o link será seguido normalmente após a inserção do texto, a menos que você tenha especificado um href
vazio (href="#"
) para o link, o que faria com que a página fosse recarregada, mas permanecesse na mesma posição. No entanto, o formulário não será enviado e o texto digitado não será enviado para o arquivo PHP.