以下代码到目前为止有效。这是让我难过的下一步。最初,我想编写一个将变量传递给PHP文件并调用PHP文件的Javascript,以便使用新值更新我的网页上的文本文件。我花了很多时间研究发布的类似问题,但我似乎无法让其中任何一个工作,有些涉及Ajax,我对此并不熟悉。听起来像是在服务器端工作的php和客户端的脚本问题,"从来没有twain应该满足。"
php代码从第一个按钮点击(" Test")获取值并将其写入文件。
脚本从用户输入的文本框中获取值。
有没有什么方法可以让php代码再次使用文本框中的值运行,以便覆盖" testfile.txt"中的文本?
有没有办法运行window.open(' JSinPHPtoWrite.php?jsVar = Test')命令,在第一个按钮中作为脚本的一部分重新运行php代码或甚至更新该按钮命令,以便再次单击该按钮包含文本框中的值?
<?php
$myFile = "testFile.txt";
$fh = fopen($myFile, "w") or die("can't open file");
$MSG=$_GET["jsVar"]; //gets value from button click below
fwrite($fh, $jsVar);
$fh = fopen($myFile, "r");
echo fgets($fh); //read contents of file
fclose($fh);
?>
<script>
function getTextBoxValue() {
var jsVar = document.getElementById("newVar").value;
}
</script>
<button onClick="window.open('JSinPHPtoWrite.php?jsVar=Test')">Send JavaScript to PHP</button>
<button onClick="getTextBoxValue()">Get Text Box Value</button>
<button onClick="window.close()">Close Window</button>
New String: <input type="text" id="newVar">
答案 0 :(得分:1)
以下代码说明了如何通过AJAX将表单值发送到服务器端脚本(如您编写的脚本)。 PHP代码不需要触及,因此我不会再次列出它。
档案index.html
:
<!DOCTYPE html>
<html>
<head>
<title></title>
<!-- jQuery makes life with Ajax easier -->
<script type="application/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<!-- Add a cool function called "serializeObject" to jQuery -->
<script type="application/javascript" src="http://github.com/cowboy/jquery-misc/raw/master/jquery.ba-serializeobject.min.js"></script>
<!-- Custom script -->
<script type="application/javascript">
// This function is called when the form is submitted
function handle_submission(e) {
e.preventDefault(); // Don't reload page on form Submit
// Creates a nice object like { 'jsVar': <value> }
var form_data = $(this).serializeObject();
// Send the value to the server
$.ajax({
url: 'myphpscript.php',
type: 'get',
data: form_data,
success: function(result) {
$('div#result_box').html(result)
}
});
}
// This is called once at page load
function page_init() {
$('form#my_form').submit(handle_submission);
}
$(document).ready(page_init);
</script>
</head>
<body>
<form action="myphpscript.php" id="my_form">
<input type="text" name="jsVar"/>
<button type="submit">Submit the value</button>
</form>
<div id="result_box"></div>
</body>
</html>