我有一个脚本正在获取用户选择的国家/地区,然后将相应的状态放入状态框中。
这是我头脑中的Javascript代码:
<script type="text/javascript" src="jquery-1.9.1.min.js">
</script>
<script type="text/javascript">
$(document).ready(function () {
$("#theselect").change(function() {
var option = $(this).val();
$.get("select.php", {select:option},function(data){
$("#theresult").html(data).hide().fadeIn(1000);
});
});
});
</script>
以下是正文中的HTML代码:
<select name="theselect" id="theselect">
<option value="">Select</option>
<option value="submit_ind">Submit Individual Need</option>
<option value="submit_org">Submit Organization Need</option>
<option value="missionary">Submit Missionary Need</option>
这是select.php脚本,它提供了选择每个选项时要显示的信息:
echo "<script type= 'text/javascript' src = 'http://www.1511project.com/countries.js'></script>
";
***The other options are usually here but due to character restraints I had to delete to rest of it. So I do have an original If statement and 2 other elseif statement***
elseif($_GET['select'] == 'missionary') {
echo "<script>print_country('country');</script>";
?>
<script>
function limitText(limitField, limitCount, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
} else {
limitCount.value = limitNum - limitField.value.length;
}
}
function validateForm()
{
var x=document.forms["myForm"]["firstname"].value;
if (x==null || x=="")
{
alert("First name must be filled out");
return false;
}
var r=document.forms["myForm"]["titleofneed"].value;
if (r==null || r=="")
{
alert("Title of need must be filled out");
return false;
}
var s=document.forms["myForm"]["country"].value;
if (s==null || s=="")
{
alert("Country must be filled out");
return false;
}
var u=document.forms["myForm"]["phone"].value;
var b=document.forms["myForm"]["email"].value;
if ((b==null || b=="") && (u==null || u==""))
{
alert("Email or Phone must be provided for contact information.");
return false;
}
var c=document.forms["myForm"]["city"].value;
if (c==null || c=="")
{
alert("City must be filled out");
return false;
}
var d=document.forms["myForm"]["state"].value;
if (d==null || d=="")
{
alert("State must be filled out");
return false;
}
var h=document.forms["myForm"]["recurring"].value;
if (h==null || h=="")
{
alert("Recurring need must be filled out");
return false;
}
var j=document.forms["myForm"]["typeofneed"].value;
if (j==null || j=="")
{
alert("Type of need must be filled out");
return false;
}
}
</script>
<p>Please enter the information below for the CONTACT PERSON of the need you are submitting.<br /><br /></p>
<form action="processneedmiss.php" name="myForm" method="post" onsubmit="return validateForm();">
<p>First Name: <input type="text" name="firstname" /></p>
<p>Phone #: <input type="text" name="phone" /> <img src='http://www.aotees.com/images/questionMarkIcon_SMALL.jpg' alt='Must provide phone number OR email. Providing both is recommended.' title='Must provide phone number OR email. Providing both is recommended.' height='15' width='15'></p>
<p>Email: <input type="text" name="email" /> <img src='http://www.aotees.com/images/questionMarkIcon_SMALL.jpg' alt='Must provide phone number OR email. Providing both is recommended.' title='Must provide phone number OR email. Providing both is recommended.' height='15' width='15'></p>
<p>Country: <select onchange="print_state('state',this.selectedIndex);" id="country" name = "country"></select></p>
<p>District/State: <select name ="state" id = "state"></select></p>
<p>City: <input type="text" name="city" /></p>
<p>Title of Need: <input type="text" name="titleofneed" /> <img src='http://www.aotees.com/images/questionMarkIcon_SMALL.jpg' alt='Type a short title to organize your needs.' title='Type a short title to organize your needs.' height='15' width='15'></p>
<p>Type of Need: <select name="typeofneed"> <option></option><option>Supplies</option><option>Lawn Care</option> <option>Heavy Lifting</option><option>Event Volunteering</option><option>Home Repair</option> <option>Clean Up</option> <option>Other</option></select></p>
<p>Recurring Need:
<select name='recurring' size='1'>
<option value=''></option>
<option>No</option>
<option>Yes</option>
</select> <img src='http://www.aotees.com/images/questionMarkIcon_SMALL.jpg' alt='If need happens on a regular basis, select Yes' title='If need happens on a regular basis, select Yes.' height='15' width='15'>
</p>
<p>
How many people are needed: <input type="number" name="howmanypeople" /> <img src='http://www.aotees.com/images/questionMarkIcon_SMALL.jpg' alt='If you want the need to be taken down after a certain number of people sign up for the need, enter that number here. If you only want 1 person leave this blank.' title='If you want the need to be taken down after a certain number of people sign up for the need, enter that number here. If you only want 1 person leave this blank.' height='15' width='15'>
</p>
<p>Expiration Date: (If no expiration date leave blank.)
<br>
Month:
<select name='month' size='1'>
<option value='0'></option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
</select>
Day:
<select name='day' size='1'>
<option value='0'></option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
<option value='13'>13</option>
<option value='14'>14</option>
<option value='15'>15</option>
<option value='16'>16</option>
<option value='17'>17</option>
<option value='18'>18</option>
<option value='19'>19</option>
<option value='20'>20</option>
<option value='21'>21</option>
<option value='22'>22</option>
<option value='23'>23</option>
<option value='24'>24</option>
<option value='25'>25</option>
<option value='26'>26</option>
<option value='27'>27</option>
<option value='28'>28</option>
<option value='29'>29</option>
<option value='30'>30</option>
<option value='31'>31</option>
</select>
Year:
<select name='year' size='1'>
<option value='0'></option>
<option value='2012'>2012</option>
<option value='2013'>2013</option>
<option value='2014'>2014</option>
<option value='2015'>2015</option>
<option value='2016'>2016</option>
<option value='2017'>2017</option>
<option value='2018'>2018</option>
<option value='2019'>2019</option>
<option value='2020'>2020</option>
<option value='2021'>2021</option>
<option value='2022'>2022</option>
<option value='2023'>2023</option>
<option value='2024'>2024</option>
<option value='2025'>2025</option>
<option value='2026'>2026</option>
<option value='2027'>2027</option>
<option value='2028'>2028</option>
</select>
</p>
<p>Description of Need: <br>(Do not include sensitive information you don't want others seeing on the website.)<br /><textarea name="description" onKeyDown="limitText(this.form.description,this.form.countdown,850);"
onKeyUp="limitText(this.form.description,this.form.countdown,850);" style="margin: 2px; width: 494px; height: 164px;"></textarea><br><font size="1">(Maximum characters: 850)<br>
You have <input readonly type="text" name="countdown" size="4" value="850"> characters left.</font></p>
<p><input type="submit" value="Submit" /></p>
</form>
<?php
}
?>
我遇到的问题是,当人们第一次选择“传教士”选项时,它不会显示传教士的形式。但是,如果我先选择另一种形式,然后选择传教选项,它将显示并正常工作。或者,如果我先选择另一种形式,那么传教士选择就可以了。但如果我先选择“传教士”,它就行不通了。
我已经以“传教士”的形式找到了这段代码的问题根源:
<script>print_country('country');</script>
如果该代码位于表单中的任何位置,则表单第一次不会启动。
有人可以帮忙吗?
答案 0 :(得分:0)
当您返回非“传教”案例时,您似乎只在您的页面上包含countries.js
库。确保将该文件包含在elseif
内:
elseif($_GET['select'] == 'missionary') {
echo "<script type= 'text/javascript' src = 'http://www.1511project.com/countries.js'></script>";
echo "<script>print_country('country');</script>";
}
编辑:为什么你甚至在你的AJAX回归中包含那个js文件而不是总是在你的父页面中。这样就可以在必要时使用它。它不会在原始页面加载上提供太多开销,但它会导致问题成为AJAX返回的一部分。