- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 Javascript 新手。我正在尝试通过练习来学习它。我正在做的这个看起来并不难,但我有一个小问题。
我有一个包含 3 个文本输入和一个提交按钮的表单。通过按下按钮,我获得了字段值并使用这些值创建了一个文本 block 。然后隐藏表单。
当我点击按钮时,表单被隐藏,但文本 block 没有被创建。
如果我将 input type = submit 替换为 input type = button,则会创建文本 block ,但所需属性不起作用。
我预计:我单击第一个按钮,出现表单。我填写表单并单击按钮,创建文本 block ,隐藏表单,然后出现第一个按钮。
结果:我单击第一个按钮,出现表单。我填写表单并单击按钮,表单被隐藏,第一个按钮出现。
function clicBoutonAjouter() {
// On récupère les valeurs du formulaire
var formAuteur = document.getElementById("form1").value;
var formTitre = document.getElementById("form2").value;
var formUrl = document.getElementById("form3").value;
// Création élément url
var formDivTextUrl = document.createElement("span");
formDivTextUrl.appendChild(document.createTextNode(formUrl));
// Création élément titre cliquable
var formDivTextTitre = document.createElement("a");
formDivTextTitre.classList.add("titre")
formDivTextTitre.href = ("//" + formUrl); // à corriger : me renvoie en local/google.fr
formDivTextTitre.appendChild(document.createTextNode(formTitre));
// Création élément auteur
var formDivTextAuteur = document.createElement("span");
formDivTextAuteur.appendChild(document.createTextNode("Ajouté par " + formAuteur));
// Assemblage ligne un
var formLigenUn = document.createElement("h4");
formLigenUn.classList.add("ligneUn");
formLigenUn.appendChild(formDivTextTitre);
formLigenUn.appendChild(formDivTextUrl);
// Assemblage bloc
var formDiv = document.createElement("div");
formDiv.classList.add("lien");
formDiv.appendChild(formLigenUn);
formDiv.appendChild(formDivTextAuteur);
// Affichage
var element = document.getElementById("contFormulaire");
element.insertAdjacentElement('afterend', formDiv);
var formulaire1 = document.getElementById("form1");
formulaire1.classList.replace("visible", "invisible");
var formulaire2 = document.getElementById("form2");
formulaire2.classList.replace("visible", "invisible");
var formulaire3 = document.getElementById("form3");
formulaire3.classList.replace("visible", "invisible");
boutonAjout.classList.replace("visible", "invisible");
document.getElementById("ladiv");
var ladiv = document.getElementById("ladiv");
ladiv.classList.replace("invisible", "visible");
}
<h1>Activité 2</h1>
<!-- Les nouveaux éléments sont ajoutés dans cette balise -->
<div id="contenu">
<form id="contFormulaire">
<div id="ladiv" class="visible">
<button id="boutonFormulaire" type="button" onclick="clicBoutonAjoutLien()">Ajouter un lien</button>
</div>
<input type="text" class="invisible" id="form1" name="form1" placeholder="Entrer votre nom" required>
<input type="text" class="invisible" id="form2" name="form2" placeholder="Entrer le titre du lien" required>
<input type="text" class="invisible" id="form3" name="form3" placeholder="Entrer l'URL du site" required>
<input type="submit" value="Ajouter" id="boutonAjout" class="invisible" onsubmit="clicBoutonAjouter()">
</form>
</div>
最佳答案
你需要移动 onsubmit="return clicBoutonAjouter()"
来形成标签
和 在
以防止页面重新加载。clicBoutonAjouter
上返回 false
function clicBoutonAjouter() {
// On récupère les valeurs du formulaire
var formAuteur = document.getElementById("form1").value;
var formTitre = document.getElementById("form2").value;
var formUrl = document.getElementById("form3").value;
// Création élément url
var formDivTextUrl = document.createElement("span");
formDivTextUrl.appendChild(document.createTextNode(formUrl));
// Création élément titre cliquable
var formDivTextTitre = document.createElement("a");
formDivTextTitre.classList.add("titre")
formDivTextTitre.href = ("//" + formUrl); // à corriger : me renvoie en local/google.fr
formDivTextTitre.appendChild(document.createTextNode(formTitre));
// Création élément auteur
var formDivTextAuteur = document.createElement("span");
formDivTextAuteur.appendChild(document.createTextNode("Ajouté par " + formAuteur));
// Assemblage ligne un
var formLigenUn = document.createElement("h4");
formLigenUn.classList.add("ligneUn");
formLigenUn.appendChild(formDivTextTitre);
formLigenUn.appendChild(formDivTextUrl);
// Assemblage bloc
var formDiv = document.createElement("div");
formDiv.classList.add("lien");
formDiv.appendChild(formLigenUn);
formDiv.appendChild(formDivTextAuteur);
// Affichage
var element = document.getElementById("contFormulaire");
element.insertAdjacentElement('afterend', formDiv);
var formulaire1 = document.getElementById("form1");
formulaire1.classList.replace("visible", "invisible");
var formulaire2 = document.getElementById("form2");
formulaire2.classList.replace("visible", "invisible");
var formulaire3 = document.getElementById("form3");
formulaire3.classList.replace("visible", "invisible");
boutonAjout.classList.replace("visible", "invisible");
document.getElementById("ladiv");
var ladiv = document.getElementById("ladiv");
ladiv.classList.replace("invisible", "visible");
return false;
}
<!-- Les nouveaux éléments sont ajoutés dans cette balise -->
<div id="contenu">
<form id ="contFormulaire" onsubmit="return clicBoutonAjouter()">
<div id="ladiv" class="visible">
<button id="boutonFormulaire" type="button" onclick="clicBoutonAjoutLien()">Ajouter un lien</button>
</div>
<input type="text" class="invisible" id="form1" name="form1" placeholder="Entrer votre nom" required>
<input type="text" class="invisible" id="form2" name="form2" placeholder="Entrer le titre du lien" required>
<input type="text" class="invisible" id="form3" name="form3" placeholder="Entrer l'URL du site" required>
<input type="submit" value="Ajouter" id="boutonAjout" class="invisible" >
</form>
</div>
关于仅限 Javascript - 我提交了一个表单但没有任何反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56810060/
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我们有自己的 http 服务器适配器,我们用它来托管多个站点。 本网站通过 https 运行。当我们尝试使用 chrome、firefox 或 safari 访问 url 时,它工作正常。该问题仅发生
让我从代码开始……请注意,这不是关于覆盖实例方法的问题——这纯粹涉及扩展方法。此代码用于 Unity3D 游戏引擎,版本 5.3.x public static class ExtentionMeth
我想知道如何开发一个只提供 iOS native 设置应用程序中的一些设置的应用程序,比如很多 cydia 调整,而跳板上没有图标?我的目标只是让一些开关和按钮在我的本地网络上发送命令。 最佳答案 在
好吧,我需要得到两个值来表示两个完整日期之间的距离(没有小时/时间)......在 MySQL 上我们有 PERIOD_DIFF 来获取两个日期之间的差异(只有月份和年份),但我也需要包括日期。 我有
这就是我想要做的。在我的 html 页面上,我必须有 4 种不同的字体大小,其中一种是 10px 20px 30px 40px 然后重置。 当我在 10px 上单击或滚动鼠标时,字体大小会更改并在 d
这个问题在这里已经有了答案: How can I transition height: 0; to height: auto; using CSS? (41 个回答) 关闭 4 年前。
我喜欢 JQuery Mobile,但我的页面中有许多与 JQuery Mobile 不兼容的自定义 Javascript。 我页面中的所有内容都工作正常,但是当我添加 JQuery Mobile 库
我正在尝试创建以下工具提示(不是其中的内容 - 只是框和箭头): 我在让箭头与主框正确融合时遇到问题。 我创建了一个 Fiddle here使用我目前拥有的代码。 您会注意到箭头看起来不错,但不是 1
我是 Javascript 新手。我正在尝试通过练习来学习它。我正在做的这个看起来并不难,但我有一个小问题。 我有一个包含 3 个文本输入和一个提交按钮的表单。通过按下按钮,我获得了字段值并使用这些值
当我将鼠标悬停在按钮上时,我希望菜单滑出。不知何故,只有当我将悬停效果添加到菜单本身而不是按钮时,它才会起作用。我在网上能找到的都是一样的(悬停效果附加到应该滑出的菜单,而不是按钮)。我该如何实现?j
我只想让我的应用程序横向,所以我使用这里提供的方法:i want to make my application only in landscape in android 简而言之,我正在将 andro
我需要将我的共享扩展限制为仅纵向模式。但到目前为止,还不行。有办法吗? @implementation UINavigationController -(BOOL)shouldAutorotate {
不知道是否有人已经看到这个错误。请注意,这仅发生在 Android 4.x 库存浏览器中。它已经在 Android 4 上的 Chrome、旧版浏览器、iOS、Blackberry OS6 和 7、P
如果内容大于容器,我正在尝试构建一个可在 x 和 y 方向滚动的表格。我还希望标题始终在顶部可见。我已经完成了第一部分的工作,标题始终在顶部可见,但是标题列的大小与表格的大小不匹配。 我创建了这个 f
当对图像应用 ImageFilter.blur 时,图像的边缘没有变化。 如何将模糊扩展到边缘? import 'dart:ui'; import 'package:flutter/material.
我正在为 Android 平板电脑编写应用程序。我希望 ScreenOrientation 始终处于“横向”状态,但应用程序应该能够旋转 180°。如果您将平板电脑倒置,则 View 应正确显示并旋转
我有一个带有属性装饰器的类。 class Dispatcher: def __init__(self, url): self._session = None @prop
我只想在模型的查询集中选择几个字段。我看到了这个链接:Django queryset only我以为我实现了它,但我仍然得到了整个查询集。 这是我的项目 View .py: from django.s
我看了看,发现了类似的问题,但它们似乎都是如何将一个列表添加到另一个列表的末尾。 我最近用我在 Excel 中使用的一种技术回答了一个问题,该技术依赖于创建第三列,并使用公式填充来连接每一行的 col
我是一名优秀的程序员,十分优秀!