我的JavaScript代码在Firefox中正常工作,但不在Chrome中。在Firefox中,只要选择了该选项,就会显示正确数量的表单(由JavaScript函数内的代码构建),Chrome中没有任何反应。我不知道为什么。我有一段时间没有检查过,因为我主要使用Linux计算机,但我相信IE9也可以。Javascript适用于Firefox,但不适用于Chrome
如果你能帮我找到我的解决方案,我会很感激。顺便说一下,我的确看过另一个类似题目的问题,但似乎没有回答这个问题。
<script type="text/javascript">
function showForms(numForms)
{
// build the form
var form = "";
for(i = 1; i <= numForms; i++)
{
// define one section of the form (give fields unique names).
var formPart = '<fieldset><legend>Add User</legend><label>Full Name:</label><input name="fullname' + i + '" type="text" required="required"" /><label>Email:</label><input name="email' + i + '" type="email" /><label>Phone:</label><input placeholder="1 (123)-123-1234" name="phone' + i + '" type="tel" /><label>Spreadsheet:</label><input name="spreadsheet' + i + '" type="file" /><label>Registration #:</label><textarea name="regnums' + i + '" placeholder="Aircraft registration number(s). Separate each number with a comma."></textarea></fieldset>';
form = form + formPart;
}
// output the form to the page
var output = document.getElementById("output");
output.innerHTML = form + '<input name="numForms" value="' + numForms + '" type="hidden" />';
}
</script>
顺便说一句,这个功能是通过<option onclick="showForms(#)">#</option>
其中#是要显示的表格的数量调用。当然,选项位于<select>
之内。
非常感谢您的帮助。
编辑:这里是调用脚本,包含HTML,PHP & JavaScript。
<?php
// include the javascript function to generate the form
include ('../private/Includes/Scripts/showforms.js');
// form handling code
if (isset($_POST['submit']))
{
// make sure the input for the number of users is a number, and less than or
// equal to 10
if (is_numeric($_POST['numForms']) && $_POST['numForms'] <= 10)
{
$regCount = $_POST['numForms'];
}
// initialize array for form data
$regData = array();
// fill array with multi-dimentional form data
for ($i = 1; $i <= $regCount; $i++)
{
// get form data and store in temporary variables
$fullname = trim($_POST['fullname' . $i]);
$email = trim($_POST['email' . $i]);
$phone = trim($_POST['phone' . $i]);
$spreadsheet = $_POST['spreadsheet' . $i];
$regnums = trim($_POST['regnums' . $i]);
// put data in array
$regData[$i] = array(
'username' => '',
'fullname' => $fullname,
'email' => $email,
'phone' => $phone,
'spreadsheet' => $spreadsheet,
'regnums' => $regnums
);
// unset temporary variables
unset($invalid, $username, $fullname, $email, $phone, $spreadsheet, $regnums);
}
$errors = registerUsers($regData);
if ($errors[0] == "Some users were not registered due to missing usernames.")
{
$notes[] = "Some users were not registered due to missing usernames.";
unset($errors[0]);
}
if (!isset($errors))
{
$success = true;
}
}
?>
<h2 style="margin-top: -9px;">Register Users</h2>
<p>Use this form to register new users. Usernames and passwords are automatically generated and emailed to their owner's addresses.</p>
<form enctype="multipart/form-data" method="post">
<fieldset>
<legend>
Form Setup & Results
</legend>
<label>No. of User(s):</label>
<select onchange="showForms(0)" name="select">
<option selected="selected">- Please Select -</option>
<option onclick="showForms(1)">1</option>
<option onclick="showForms(2)">2</option>
<option onclick="showForms(3)">3</option>
<option onclick="showForms(4)">4</option>
<option onclick="showForms(5)">5</option>
<option onclick="showForms(6)">6</option>
<option onclick="showForms(7)">7</option>
<option onclick="showForms(8)">8</option>
<option onclick="showForms(9)">9</option>
<option onclick="showForms(10)">10</option>
</select>
</fieldset>
<div id="output"></div>
<input id="submit" name="submit" type="submit" value="Submit" />
</form>
你没有描述什么不起作用,以及如何。 – Pointy
Chrome开发人员工具控制台说什么? –
@Razick在select上使用onChange而不是每个选项。一旦完成让我知道,如果它修复你或不 – swapnesh