Я формирую URL-адрес, который не может иметь начальные нули в параметре dist GET, заполненном расстоянием [i].
trr2.innerHTML= "<b><a href='join.php?id="+idO[i]+"&dist="+distance[i] +"&category="+category[i]+"&min="+min[i]+"&max="+max[i]+"'>Join this deal</a>";
Ссылка, сгенерированная на этом расстоянии отпечатка [i] с ведущей цифрой 0, а затем десятичной точкой, когда число меньше нуля, например "... & dist = 0,6...", что, в свою очередь, вызывает ошибки при вызове postgresql я сгенерируйте это выражение. Я попробовал все из следующих действий: либо удалить ведущее 0 из числа, либо явно указать число в число, надеясь, что это подавит начальный ноль:
var dis = distance[i]
...following by any of these....
var disNN = dis.replace("0", ""); //there will only be 0 in the lead, I know all submitted values, so this expression won't cause other problems
var disNN = dis.replace(/^0+/, '');
var disNN = number(dis)
Любые из них, когда они включены в мой код, генерируют следующую ошибку:
Uncaught TypeError: undefined is not a function
Кажется, это должно быть так просто.... Как я могу избавиться от этого ведущего нуля для значений, которые находятся между 0 и 1?
Кроме того, массив создается из php с вызовом, подобным этому:
var distance = <?php echo json_encode($distance);?>;
в случае, если это уместно. Спасибо за любой совет.
Фокус в сообщении, которое вы видите
Uncaught TypeError: undefined is not a function
Я не слишком уверен, как создается расстояние [i]; но я предполагаю, что это int, а не строка, поэтому он не имеет встроенных строковых функций (например,.replace).
Вы можете попробовать следующее:
var dis = distance[i].toString();
Пожалуйста, позаботьтесь о том, чтобы расстояние [i] не было нулевым, или 'toString терпит неудачу, и вы вернетесь к sqaure one.
Я удаляю ведущие нули, используя php-функцию ltrim, и передаю расстояния, хорошо отформатированные на javascript, который генерирует URL-адреса.
Применение:
$str = ltrim($str, '0');// Remove leading 0's
echo ltrim(00000.1, '0');// echoes .1