HTML FORM + pureJS自动叠底脚本



我有一个简化的HTML表单,我想将输入的金额乘以100,并使用GET方法将其发送到任何端点。

这是我的表格:

<body>
<form method="get" action="https://endpoint/purchase.php">
<input type="text" name="description" value="description">
<input type="text" name="amount">
<input type="submit" value="pay">
</form>
</body> 

和我的Js

var $output = $("#output-value");
$("#input-value").keyup(function() {
var value = parseFloat($(this).val());
$output.val(amount*100);
});

我被困在这里,因为我不知道如何连接它们以在我想要的地方发送适当的值?

谢谢。这很有帮助,我有另一个问题,在哪里,在GET传递的URL被缩短/剪掉?

下面是原始URL

https://sklep.przelewy24.pl/zakup.php?z24_id_sprzedawcy=88696&z24_kwota=10000&z24_currency=pln&z24_nazwa=test&z24_opis=test&z24_return_url=http%3A%2F%2Fwww.przelewy24.pl&z24_language=pl&k24_kraj=PL&z24_crc=ca056736&

我希望能够动态地传输z24_kwota (/z24_amount),这样我的表单就可以随心所欲地传输金额。根据我的需要调整了上面的代码后:

<html>
<head>
<meta charset="utf-8">
<title>Formularz uproszczony</title>
</head>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js">

</script>
<form id="testForm" method="get" action="https://sklep.przelewy24.pl/zakup.php?z24_id_sprzedawcy=88696&z24_currency=pln&z24_nazwa=test&z24_opis=test&z24_return_url=http%3A%2F%2Fwww.przelewy24.pl&z24_language=pl&k24_kraj=PL&z24_crc=ca056736&">
<input type="text" name="z24_kwota" value="Kwota">

<input type="submit" value="zapłać ">
<script>
$("#testForm").on('submit', function() {
var amount = $("#testForm input[name='z24_kwota']")
var value = parseFloat(amount.val());
value = value * 100 || 0; // set zero for non number
if (prompt("Kwota przekazywana do Przelewy24 to: ", value)) {
amount.val(value);
return true
} 
else {
console.log('submission aborted, value not multiplied')
return false;
}
});</script>
</form>

</body>
</html>

我看到只有第一部分是在浏览器的地址栏:"https://sklep.przelewy24.pl/zakup.php?z24_kwota = 2000"谁能告诉我这是为什么,以及如何解决它?

这是常见的问题,请查看浏览器控制台(F12)并检查错误,您没有ID为#input-value, #output-value和变量amount的元素

如果您想在提交之前更改输入名称amount,请使用submit事件

$("#testForm").on('submit', function() {
var amount = $("#testForm input[name='amount']")
var value = parseFloat(amount.val());
value = value * 100 || 0; // set zero for non number
if (prompt("amount value now: ", value)) {
amount.val(value);
return true
} 
else {
console.log('submission aborted, value not multiplied')
return false;
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="testForm" method="get" action="https://endpoint/purchase.php">
<input type="text" name="description" value="description">
<input type="text" name="amount">
<input type="submit" value="zapłać z przelewy24.pl">
</form>

相关内容

最新更新