[英]jQuery.get to read a file and use the data into a form
我希望腳本執行以下操作:
<input>
框中 <form>
,將數字寫入文本文件 再次加載表單后,它將重新運行代碼,數字將遞增1。這基本上是在表單提交之前用唯一且遞增的數字預填充字段。
我目前正在使用jQuery,PHP,當然還有HTML:
HTML:
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js">
$.get("http://www.domain.com/tools/formdata.txt");
function test(){
$.get('http://www.domain.com/tools/formdata.txt', function(data){
x = data++;
});
}
</script>
</head>
<body onload="test()"/>
<form action="save_json.php" method="post">
Contract: <input type="number" name="contract" id="contract" value="x" /><br />
<input type="submit" id="submit" value="Invia" />
</form>
</body>
</html>
PHP
<?php
if(isset($_POST['contract'])) {
// if form fields are empty, outputs message, else, gets their data
if(empty($_POST['contract'])) {
echo 'All fields are required';
}
else {
// adds form data into an array
$formdata = $_POST['contract'];
if(file_put_contents('/var/www/domain/tools/formdata.txt', $formdata)) echo 'Data successfully saved';
else echo 'Unable to save data, try again or contact IT';
}
}
else echo 'Form fields not submitted';
?>
首先:我建議您在文件開頭使用PHP file_get_contents('formdata.txt')
來代替javascript,然后回顯它。這樣,值將在加載時存在,而無需等待HTML呈現並運行javascript。 另外,這是一種更好的做法,如果您選擇擴展頁面,它將使您做更多的事情。
但是,以下是解決此問題的方法:
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script>
var x;
function test(){
$.get('file.txt', function(data){
console.log('data',data);
var x = ++data;
console.log('x',x);
$('#contract').val(x);
});
}
</script>
</head>
<body onload="test()"/>
<form action="aoeu.php" method="post">
Contract: <input type="number" name="contract" id="contract" /><br />
<input type="submit" id="submit" value="Invia" />
</form>
</body>
</html>
注意事項:
<script>
標記(包括jquery庫),然后在其后打開另一個標記。 您的PHP正常運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.