我正在尝试将输入值发送到同一页面中的代码段,但是它不起作用。现在,我无法在代码段中获取该值。这是我当前的代码:
<?php
if ($section == 'codesegment') {
if ($_GET['hour']) {
echo $_GET['hour'];
//here i want call my method to update db with this value of hour...
}
if ($section == 'viewsegment') {
?>
<form id="my_form" action="#" method="Get">
<input name="hour" id="hour" type="text" />
<input id="submit_form" type="submit" value="Submit" />
</form>
<script>
var submit_button = $('#submit_form');
submit_button.click(function() {
var hour = $('#hour').val();
var data = '&hour=' + hour;
$.ajax({
type: 'GET',
url: '',
data: data,
success:function(html){
update_div.html(html);
}
});
});
</script>
有什么建议吗?
答案 0 :(得分:0)
如果要获取值而不刷新页面,则必须使用javascript,您可以尝试以下操作:
$('#hour').onchange = function () {
//type your code here
}
顺便说一句,您的php脚本是服务器端的,因此,如果没有post / submit / refresh,您将无法使用该值
答案 1 :(得分:0)
无论何时使用
<input type="submit">
它将数据发送到表单的 action ,因此,只要您在调用onclick函数之前单击提交按钮,就会将数据发送到action并刷新页面。因此,不要使用输入元素,而是尝试类似
<button id="submit_form"> Submit </button>
答案 2 :(得分:0)
两件事,
1.正如Yesh所说,您需要将输入Submit更改为button type=button
并在该按钮上添加一个onClick
函数。或者,您可以在函数行function sampleFn(){}
中提供javascript函数,然后调用形式为onSubmit
的函数。
2.您需要在document.ready
函数中添加javascript,因为脚本在dom加载之前执行,并且可能找不到var submit_button = $('#submit_form');
。在这种情况下,浏览器控制台中将出现错误。
尝试在帖子中添加错误,因为这将有助于轻松调试。
答案 3 :(得分:0)
无法在同一页面上执行。您可以将ajax调用写入包含数据的另一页,在其中可以使用该数据执行功能。
类似这样的东西
// form.php
<form id="hour-form">
<input type="text" name="hour" id="hour">
<input type="submit" name="hour-submit" >
</form>
<script type="text/javascript">
$(document).ready(function(){
$(document).on('submit', '#hour-form', function(e){
e.preventDefault();
var data = $('#hour').val();
$.ajax({
url: "post.php",
method: "POST",
data: {'hour':data},
success: function(data)
{
//if you want to do some js functions
if(data == "success")
{
alert("Data Saved");
}
}
});
});
});
// post.php
if(isset($_POST['hour']))
{
// do the php functions
echo "success";
}