【发布时间】:2020-05-08 09:09:17
【问题描述】:
我有一个多语言注册页面。所有这些都在一个 HTML 文档中,每种语言都在自己的 div 中,display:none; 或 display:visible 取决于所选语言。
所有形式都是相同的,即。 <input type="email" class="email"> 在所有表单上都相同(使用不同的占位符等)。
我想知道如何使用条件语句来查看哪个 div 是可见的,这样我就可以通过索引取出适当的类信息。
比如用户填写了英文注册页面,我知道我需要使用getElementsByClassName(".email")[1].value。 (索引 1)。
或者有没有办法检测数组中的哪个元素具有实际的内容/值(因为特定的类数组将为空,除了 1 个条目)。
HTML
<div class="lng" id="sl">
<div class="registerTitle">
Slo - Register
</div>
<div class="registerForm">
<form accept-charset="utf-8" name="mail" onsubmit="return false;" method="post" id="mail">
<input type="text" name="fname" required maxlength="50" minlength="1" placeholder="Janez"
onfocus="this.placeholder = ''" onblur="this.placeholder = 'Janez'" /><br />
<input type="text" name="lname" required maxlength="50" minlength="1" placeholder="Novak"
onfocus="this.placeholder = ''" onblur="this.placeholder = 'Novak'" /><br />
<span class="radioS">Spol: </span><br /><br />
<div class="radioC"><label><input type="radio" name="spol" value="M">Moski</label></div><br />
<div class="radioC"><label><input type="radio" name="spol" value="Z">Zenski</label></div><br />
<div class="radioC"><label><input type="radio" name="spol" value="O">Ostalo</label></div><br /><br />
<input type="email" name="email" autofocus="autofocus" required placeholder="moj@email.com"
onfocus="this.placeholder = ''" onblur="this.placeholder = 'moj@email.com'" />
<br />
<input type="button" value="Submit" id="submit_ok" name="submit_ok" /> <br />
</form>
</div>
</div>
<div class="lng" id="en">
<div class="registerTitle">
Eng - Register
</div>
<div class="registerForm">
<form accept-charset="utf-8" name="mail" onsubmit="return false;" method="post" id="mail">
<input type="text" name="fname" required maxlength="50" minlength="1" placeholder="John"
onfocus="this.placeholder = ''" onblur="this.placeholder = 'John'" /><br />
<input type="text" name="lname" required maxlength="50" minlength="1" placeholder="Doe"
onfocus="this.placeholder = ''" onblur="this.placeholder = 'Doe'" /><br />
<span class="radioS">Gender: </span><br /><br />
<div class="radioC"><label><input type="radio" name="spol" value="M">Male</label></div><br />
<div class="radioC"><label><input type="radio" name="spol" value="Z">Female</label></div><br />
<div class="radioC"><label><input type="radio" name="spol" value="O">Other</label></div><br /><br />
<input type="email" name="email" autofocus="autofocus" required placeholder="my@email.com"
onfocus="this.placeholder = ''" onblur="this.placeholder = 'my@email.com'" />
<br />
<input type="button" value="Submit" id="submit_ok" name="submit_ok" /> <br />
</form>
</div>
</div>
【问题讨论】:
-
您可以选择语言,然后根据用户选择的语言显示表单。
-
是的,我已经有了。因此,如果用户正在提交英文表单,我需要将
getElementsByClassName(".email")[1].value的值推送到我的 AJAX。我想知道是否有办法检测英文表单(<div id="en">)是否有display:inline-block,这样我就可以取出索引为1的数组的值。如果表单/div是法语(<div id="fr">) 我需要使用索引 2... 等等。我说得通吗?
标签: javascript