如果我尝试使用从表单中提取的两个变量进行任何数学运算,我会得到 NaN 值。如果我尝试解析它,它也会给我 NaN 。 IDK 是否有帮助,但这些值是使用 PHP 从 URL 中提取的;示例: .../serch.php?animal=all&color=any&sunSd=all&lifeSpn=all&limiterF=5&limiterT=20
limiterF 和 limiterT 是我正在使用的变量。 html:
<form id='serchForm' action="serch.php" method="GET">
...
<fieldset>
From: <input type='text' id = 'limiterFid' name='limiterF' value=<?php if (!empty($_GET['limiterF'])) {echo $limiterF;} else {echo 0;} ?> size="2" /><br />
To: <input type='text' id = 'limiterTid' name='limiterT' value=<?php if (!empty($_GET['limiterT'])) {echo $limiterT;} else {echo 20;} ?> size="2" />
</fieldset>
<input type="submit" id="submitNew" />
<input type="submit" id="nextSerch" />
JS:
$(document).ready(function() {
$("#serchForm input").click(function(e) {
if(e.target.id == 'submitNew') {
e.preventDefault();
$('#limiterFid').attr("value", 0);
$('#limiterTid').attr("value", 20);
$("#serchForm").submit();
} else if (e.target.id == 'nextSerch') {
e.preventDefault();
var limiterF = $('#limiterFid').value,
limiterT = $('#limiterTid').value;
limiterT = limiterF + limiterT;
limiterF = parseInt(limiterF, 5);
$('#limiterFid').attr("value", limiterF);
$('#limiterTid').attr("value", limiterT);
$("#serchForm").submit();
} else {
return;
}
});
});
这是当您单击 nextSerch 时它将返回的内容:
.../serch.php?animal=all&color=any&sunSd=all&lifeSpn=all&limiterF=NaN&limiterT=NaN
最佳答案
value
是 DOM 元素的属性,而不是 jQuery 对象的属性。您可以在原始 DOM 元素上使用 val()
或 value
。
$('element').val()
// OR
$('element')[0].value
此外,要设置通常不使用 attr
的值,请使用 val
。
$('element').val('newValue')
关于php - 使用 JS 从 PHP 表单获取 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14059043/