为什么 js 函数不会永久更改 html 代码?
Why js function does not change the html code permanently?
在 HTML 页面的 body
中有一个从 onclick
事件中调用 Javascript 函数的按钮,在 head
中是我希望 运行 具有更永久结果的 Javascript 功能。
<!Doctype html>
<html lang="fr">
<head>
<meta charset="utf-8"/>
<script type="text/javascript" language="javascript">
function loadformTest(){
document.getElementById('departement').value = '31';
document.getElementById('ville').value = 'toulouse';
document.getElementById('quoi').value = 'société de services informatiques';
annuaire = document.getElementById('annuaire');
recherche = document.getElementById('recherche');
annuaire.innerHTML = 'Annuaire'
annuaire.href = "http://www.pagesjaunes.fr/pagesblanches";
recherche.innerHTML = 'Annuaire'
recherche.href = "https://google.fr";
}
</script>
</head>
<body>
<form id="form" action="" method="post">
<p>Quoi,Qui : <input id="quoi" name="quiQuoiSaisi" type="text"/></p>
<p>Ville : <input id="ville" name="ville" type="text"/></p>
<p>N°Département : <input id="departement" name="departement" type="text"/><p>
<button onclick="loadformTest()">Valeurs par défaut </button>
</form>
<a id="recherche" href="" target="_blank"></a>
<a id="annuaire" href="" target="_blank"></a>
</body>
</html>
但是如果在加载页面时在 body 标记中调用相同的函数,则更改是永久性的。
我的问题可能是因为我对 Javascript !
缺乏了解
您的代码不起作用的原因是,当单击按钮时,将提交表单,并且由于操作设置为 ""
,整个页面将自行重新加载。尝试像这样向您的表单添加 onsubmit
:
<form id="form" action="" method="post" onsubmit="return false;">
使用
<button type="button" onclick="loadformTest()">Valeurs par défaut </button>
所以按钮不会执行表单提交到空 url(操作标签不应为空)。
更改点击按钮以包含 "return false;"。目前,该按钮导致页面在 运行 您的脚本后重新加载。
<button onclick="loadformTest(); return false;">Valeurs par défaut </button>
或者如果您将按钮的类型指定为按钮(与提交相反,这可能是浏览器的默认设置),则该按钮不会导致刷新。
<button type="button" onclick="loadformTest()">Valeurs par défaut </button>
在 HTML 页面的 body
中有一个从 onclick
事件中调用 Javascript 函数的按钮,在 head
中是我希望 运行 具有更永久结果的 Javascript 功能。
<!Doctype html>
<html lang="fr">
<head>
<meta charset="utf-8"/>
<script type="text/javascript" language="javascript">
function loadformTest(){
document.getElementById('departement').value = '31';
document.getElementById('ville').value = 'toulouse';
document.getElementById('quoi').value = 'société de services informatiques';
annuaire = document.getElementById('annuaire');
recherche = document.getElementById('recherche');
annuaire.innerHTML = 'Annuaire'
annuaire.href = "http://www.pagesjaunes.fr/pagesblanches";
recherche.innerHTML = 'Annuaire'
recherche.href = "https://google.fr";
}
</script>
</head>
<body>
<form id="form" action="" method="post">
<p>Quoi,Qui : <input id="quoi" name="quiQuoiSaisi" type="text"/></p>
<p>Ville : <input id="ville" name="ville" type="text"/></p>
<p>N°Département : <input id="departement" name="departement" type="text"/><p>
<button onclick="loadformTest()">Valeurs par défaut </button>
</form>
<a id="recherche" href="" target="_blank"></a>
<a id="annuaire" href="" target="_blank"></a>
</body>
</html>
但是如果在加载页面时在 body 标记中调用相同的函数,则更改是永久性的。
我的问题可能是因为我对 Javascript !
缺乏了解您的代码不起作用的原因是,当单击按钮时,将提交表单,并且由于操作设置为 ""
,整个页面将自行重新加载。尝试像这样向您的表单添加 onsubmit
:
<form id="form" action="" method="post" onsubmit="return false;">
使用
<button type="button" onclick="loadformTest()">Valeurs par défaut </button>
所以按钮不会执行表单提交到空 url(操作标签不应为空)。
更改点击按钮以包含 "return false;"。目前,该按钮导致页面在 运行 您的脚本后重新加载。
<button onclick="loadformTest(); return false;">Valeurs par défaut </button>
或者如果您将按钮的类型指定为按钮(与提交相反,这可能是浏览器的默认设置),则该按钮不会导致刷新。
<button type="button" onclick="loadformTest()">Valeurs par défaut </button>