Javascript 在没有表单的情况下提交输入值

Javascript 在没有表单的情况下提交输入值,javascript,html,forms,Javascript,Html,Forms,我正在创建一个网站游戏,目前我正在努力与一些我将命名为“对话” 起初,我试图通过创建表单元素来实现这一点,但单击enter或submitting会导致页面刷新,这会破坏一切 因此,我使用了无格式的输入类型文本,如下所示: You are <input type="text" id="dead"> <input type="submit" onclick="dead()"> document.getElementById('yourFormId').onsubmit =

我正在创建一个网站游戏,目前我正在努力与一些我将命名为“对话”

起初,我试图通过创建表单元素来实现这一点,但单击enter或submitting会导致页面刷新,这会破坏一切

因此,我使用了无格式的输入类型文本,如下所示:

You are 
<input type="text" id="dead">
<input type="submit" onclick="dead()">
document.getElementById('yourFormId').onsubmit = function(e) {
    // your code goes here...

    e.preventDefault(); // this will prevent the default operation of your form within this event
    return false;
}

我不知道如何保存表单中的输入,以便JS检测到它,然后在布尔检查中将其用作变量。我怎样才能解决这个问题?如果有一种方法可以在不刷新页面的情况下使用表单标记,那么该方法也可以工作。

您可以如下处理表单的提交事件:

You are 
<input type="text" id="dead">
<input type="submit" onclick="dead()">
document.getElementById('yourFormId').onsubmit = function(e) {
    // your code goes here...

    e.preventDefault(); // this will prevent the default operation of your form within this event
    return false;
}
或创建一个函数:

function handleForm(e) {
    // your code goes here...

    e.preventDefault();
    return false;
}
并将其添加到表单标签中:

<form onsubmit="return handleForm(this);">

为了能够在不刷新页面的情况下发送一些值,您可以使用异步JavaScript+XML(AJAX),如果您使用的是纯JavaScript,而没有一些框架,您可以看到一个很好的文档。
但我当然建议使用一些框架,比如让你的工作更简单

谢谢,这似乎很有效!你能不能解释一下,当你把“e”放在函数括号里,然后是e.preventDefault()时,到底发生了什么。为什么是“e”?可能是什么?我假设preventDefault()是JS中的一个现有函数。
e
只是一个参数,您可以将其传递给回调函数,然后在函数体中使用它
e
是event的缩写。当然,你可以使用ie。
event
,或者任何你想要的东西,如果它不是一个游戏。我现在正在尝试提高我的技能,而不需要使用更多的框架和库。