我是该网站的长期访问者,但第一次发布。
我是 JavaScript 的新手,我已尽最大努力制作一个脚本,该脚本将根据所选参数动态更新表单。当用户选择(在本例中)部件号时,他们可以单击“更新”按钮,相应地更改其他七个字段。万一出现错误,我制作了一个重置零件号字段的重置按钮(这是它损坏的地方)然后如果您再次单击“更新”按钮,其他七个字段也应该重置。我希望这是有道理的。在零件号列表的一半左右,我尝试了该功能并且效果很好,但在途中的某个地方坏了。现在,唯一可以重置其应有方式的部分是“oempma.value”。
无论如何,对于冗长的帖子感到抱歉,我会继续写下去。这是我的表单代码 (new.php):
这里是调用该函数的 dynamicupdate.js 文件:
function dynamicupdate(form, prefix, part_number, flight_control, lat_position, long_position, vert_position, location, material, oempma)
{
if(form)
{
if(part_number.value === "C6CF1124-1")
{
flight_control.value = "Aileron";
lat_position.value = "Left";
long_position.value = "Fwd";
vert_position.value = "N/A";
location.value = "Wing";
material.value = "Carbon Steel";
}
if(part_number.value === "C6CW1031-1")
{
flight_control.value = "Aileron";
lat_position.value = "";
long_position.value = "N/A";
vert_position.value = "";
location.value = "Wing";
material.value = "Carbon Steel";
}
if (part_number.value === "C6CW1031-1" && lat_position.value === "" && vert_position.value === "")
{
alert ("You must manually enter the \"Lat Position\" and \"Vert Position\" for this cable.");
}
}
else
{
flight_control.value = "";
lat_position.value = "";
long_position.value = "";
vert_position.value = "";
location.value = "";
material.value = "";
}
if(prefix.value === "PDM" || prefix.value === "TB" || prefix.value === "JNL")
{
oempma.value = "PMA";
}
else if(part_number.value === "")
{
oempma.value = "";
}
else
{
oempma.value = "OEM";
}
return;
}
此函数也位于 dynamicupdate.js 文件中,但出于某种原因我无法将其保留在上面的代码块中。
function resetsome(form, prefix, part_number)
{
part_number.value = "";
prefix.value = "";
}
我已尝试通过几种方法解决此问题,包括将一些大块的 .js 文件删除回到它过去工作的位置,以防我进一步弄乱某些东西,但这并没有解决它。我也阅读了大量有关适用于这种情况的 JavaScript 语言的资料,但我可以看出我做错了什么。
最佳答案
我想问题是这样的:
if(form){/*...*/}
当 form 为真时,不会执行重置字段的代码。
试试这个:
function dynamicupdate(form, prefix, part_number, flight_control, lat_position, long_position, vert_position, location, material, oempma)
{
if(!form)return;
if(part_number.value !== ""){
if(part_number.value === "C6CF1124-1")
{
flight_control.value = "Aileron";
lat_position.value = "Left";
long_position.value = "Fwd";
vert_position.value = "N/A";
location.value = "Wing";
material.value = "Carbon Steel";
}
if(part_number.value === "C6CW1031-1")
{
flight_control.value = "Aileron";
lat_position.value = "";
long_position.value = "N/A";
vert_position.value = "";
location.value = "Wing";
material.value = "Carbon Steel";
}
if (part_number.value === "C6CW1031-1" && lat_position.value === "" && vert_position.value === "")
{
alert ("You must manually enter the \"Lat Position\" and \"Vert Position\" for this cable.");
}
}
else {//when part_number.value is empty reset the fields
flight_control.value = "";
lat_position.value = "";
long_position.value = "";
vert_position.value = "";
location.value = "";
material.value = "";
}
if(prefix.value === "PDM" || prefix.value === "TB" || prefix.value === "JNL")
{
oempma.value = "PMA";
}
else if(part_number.value === "")
{
oempma.value = "";
}
else
{
oempma.value = "OEM";
}
return;
}
关于php - Javascript 元素 .value 没有按我预期的方式变回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12781081/