Eu sou novo no desenvolvimento de extensões do Chrome, mas estou tendo problemas de depuração e com a extensão em si. Atualmente, tenho um formulário com um botão de envio e, após o usuário clicar em enviar, altero o html para mostrar os dados que acabaram de ser enviados.
document.addEventListener('DOMContentLoaded', function() {
console.log("1");
document.getElementById("submitButton").addEventListener('click', myFunction);
console.log("2");
//getCurrentTabUrl(function(url) {
// renderStatus(url);
//});
});
function myFunction() {
document.getElementById("formOutput").innerHTML = document.getElementById("formInput").value;
alert("hi");
console.log("test");
);
}
Neste, 1 e 2 são exibidos no console de depuração de extensão e o alerta é executado também quando o botão é clicado. O teste aparece rapidamente e depois desaparece. O valor de saída do formulário também muda rapidamente e, em seguida, volta ao valor padrão que eu tenho. Alguém sabe por que meu código / extensão do Chrome estaria fazendo isso?
Obrigado!
Quando o botão com o tipo submit
(este é o padrão se o atributo não for especificado) for clicado, os dados do formulário serão enviados para o servidor e a página será redirecionada para a nova página. Então seu script de conteúdo será injetado novamente, é por isso que ele muda de volta para o valor padrão.
Para evitar isso, você pode alterar o botão com outros tipos ou chamar e.preventDefault
para evitar o comportamento padrão. Então você gostaria de usar Ajax para enviar dados ao servidor, o que garante que a página inteira não seja redirecionada e apenas partes da IU possam ser atualizadas.
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras