Javascript 警告消息显示我的逻辑是正确的,但google chrome';的html输出查看器显示不同的
因此,我正在为一个网站制作一个Javascript 警告消息显示我的逻辑是正确的,但google chrome';的html输出查看器显示不同的,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,因此,我正在为一个网站制作一个表单,允许一个人在input标签中输入信息进行注册,因此我需要信息(即姓名、地址、年龄)。我还希望在屏幕底部有一个按钮,能够发出AJAX请求,再次输入所有相同的输入元素,这样用户就可以注册另一个人而无需进入另一页。 我在一个表单中执行此操作,因此我需要每个输入都有一个唯一的名称,以便在访问服务器端的信息时可以获得它 这是我的代码: <div id="registrationfield"> <div class="registerfield">
表单
,允许一个人在input
标签中输入信息进行注册,因此我需要信息(即姓名、地址、年龄)。我还希望在屏幕底部有一个按钮,能够发出AJAX请求,再次输入所有相同的输入
元素,这样用户就可以注册另一个人而无需进入另一页。我在一个
表单中执行此操作
,因此我需要每个输入都有一个唯一的名称,以便在访问服务器端的信息时可以获得它
这是我的代码:
<div id="registrationfield">
<div class="registerfield">
<label>First Name:</label>
<input type="text" id="first" name="first0" />
</div>
<div class="registerfield">
<label>Last Name:</label>
<input type="text" id="last" name="last0" />
</div>
<div class="registerfield">
<label>Age:</label>
<input type="text" id="age" name="age0" />
</div>
<div class="registerfield">
<label>Gender</label>
<select name="gender0" >
<option></option>
<option>Male</option>
<option>Female</option>
</select>
</div>
<div class="registerfield">
<label>Email:</label>
<input type="text" id="emailregistration" name="email0" />
</div>
<div class="registerfield">
<label>Phone:</label>
<input type="text" id="phone" name="phone0" />
</div>
<div class="registerfield">
<label>Address:</label>
<input type="text" id="address" name="address0" />
</div>
<div class="registerfield">
<label>City:</label>
<input type="text" id="city" name="city0" />
</div>
<div class="registerfield">
<label>Zip Code:</label>
<input type="text" id="zip" name="zip0" />
</div>
<div class="registerfield">
<label>T-Shirt Size</label>
<select id="tshirt" name="tshirt0" >
<option>S</option>
<option>M</option>
<option>L</option>
<option>XL</option>
<option>XXL</option>
</select>
<button id="moreregistration">More</button>
</div>
</div>
</div>
我发现了我的错误。在我的if-else语句中,else中的最后一行短语'formElementIndexToInsert'需要是'j'
<div class="registerfield">
<label>First Name:</label>
<input type="text" name="first" />
</div>
<div class="registerfield">
<label>Last Name:</label>
<input type="text" name="last" />
</div>
<div class="registerfield">
<label>Age:</label>
<input type="text" name="age"/>
</div>
<div class="registerfield">
<label>Gender</label>
<select name="gender">
<option>Male</option>
<option>Female</option>
</select>
</div>
<div class="registerfield">
<label>Email:</label>
<input type="text" name="email" />
</div>
<div class="registerfield">
<label>Phone:</label>
<input type="text" name="phone" />
</div>
<div class="registerfield">
<label>Address:</label>
<input type="text" name="address" />
</div>
<div class="registerfield">
<label>City:</label>
<input type="text" name="city" />
</div>
<div class="registerfield">
<label>Zip Code:</label>
<input type="text" name="zip" />
</div>
<div class="registerfield">
<label>T-Shirt Size</label>
<select name="tshirt" >
<option>S</option>
<option>M</option>
<option>L</option>
<option>XL</option>
<option>XXL</option>
</select>
</div>
$(document).ready(function () {
//this is the variable that will be added on to the end of the form attribute
var counter = 1;
$('#moreregistration').click(function () {
$.get("registerform.html", function (data) {
$(data).appendTo('#registrationfield').hide().fadeIn();
}).complete(function () {
//this variable sets my index so I do not effect the input elements already in the html.
var formElementIndexToInsert = (counter * 10);
//loop through all elements for a single ajax request
for (var j = formElementIndexToInsert; j <= formElementIndexToInsert + 9; j++) {
alert(j);
if ((j % 10 == 3) || (j % 10 == 9)) {
var formName = $('.registerfield').eq(j).children('select').attr('name');
formName = (formName + counter);
alert(formName);
$('.registerfield').eq(j).children('select').attr('name', formName);
} else {
var formName = $('.registerfield').eq(j).children('input').attr('name');
formName = (formName + counter);
alert(formName);
$('.registerfield').eq(formElementIndexToInsert).children('input').attr('name', formName);
}
}
counter++;
});
});
});