2015-09-07 164 views
0

美好的一天先生/女士我是一名新程序员,我想问一下如何发布数据,比如表单的功能,当提交表单时,动作中的URL将使用javascript显示。如何在没有表单的情况下发布数据

“不使用形式” 或使用XMLHTTP不是返回主页

样品

HTML

<input type="button" value="revise" onclick="revisetask(<?php echo $id; ?>)"> 

JS

function revisetask(idtask) 
{ 
    //In this function sir i would like to post here 
} 

林似乎很对不起我英语太糟糕了..提前致谢:D

+0

那么,你需要以某种方式从用户界面收集数据,把它扔到一个对象中,而XHR不一定需要重定向。 –

+0

美好的一天先生..你可以请给一些样品只是一个基本的输出... :( –

+0

告诉我们你的代码..你到底做了什么。 – YouSer

回答

1

U可以使用ajax。你不需要ajax文章的表单,也不会刷新页面。

下面是一个例子代码

<input type="text" id="test_name" /> 
<input type="button" value="Submit" obclick="save_this()" /> 

<script type="text/javascript"> 
function save_this(){ 
var text = $('#test_name');//stores te value in text field 
$.ajax({ 
url: 'http://example.com/test.php',//your URL 
type: 'POST', 
data: { text: text }, 
success: function(data){ 
    alert(data); 
} 
}); 
} 
</script> 

test.php的

<?php 
echo $_POST['text']; 
+0

(你假设OP使用jQuery) –

+0

以及他可以根据自己的需要操纵代码.. :) – Arun

+0

美好的一天先生..示例代码我把它放在index.php中,发布在update.php中。 ..然后当按钮点击它不会返回index.php .. update.php只会显示... 我非常我的英文 –

3

您可以使用JavaScript提交的输入框的值, 这样做,

写一个JavaScript函数,它会将所有输入框值读入JavaScript变量, 准备一个网址,并使用window.location.href

function SubmitMyForm 
    { 
    var Firstname = document.getElementbyId('FirstName').value; 
    var Lastname = document.getElementbyId('LastName').value; 
    var URL="myDBoperations.php?firstname="+Firstname+"&lastname="+Lastname; 
    window.location.href= URL; 
} 

在操作调用URL形成你会在GET接收这些值。

希望这会帮助你。

+0

先生谢谢代码...我可以使用,如果价值将不显示在网址...))... –

1

正如我在这段代码已经看到:

<input type="button" value="revise" onclick="revisetask(<?php echo $id; ?>)">

我认为并相信,为什么你不希望理由使用的形式,因为你希望你的$id通过使用Javascript/jQuery的提交。但或者,你可能只是这样来做:

HTML:

<form method = "POST" action = "updatetask.php"> 
    <input type = "hidden" value = "<?php echo $id; ?>" name = "taskid" id = "taskid"/> 
    <input type = "submit" value = "UPDATE" name = "updatebutton"> 
</form> 

PHP:

<?php 
     $taskid = $_POST['taskid']; 
?> 

在上面的代码中,我刚才设置的类型隐蔽性和包含您的$id的值将在您的Php文件中发布。

UPDATE:

如果仍然不适合于你想,那么你可以只是其中将使用GET方法这个其他可替代的:<a href = "updatetask.php?id='<?php echo $id; ?>' REVISE </a>"

这是你唯一的选择。如果你不想显示URL中id那么你可以只使用URL重写(参考此链接:https://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/

希望这有助于。

+0

好主意先生...我会测试这个...我认为它可以很容易地保护这个代码,即使它被隐藏.. :)因为思考JS功能我忘了这个基本类似使用vb ..来隐藏的东西:D –

+0

是的,你可以保证它使用的方法的安全性有一个后,这将不需要你把值放在你的url不像get方法。 – Makudex

+0

没有冒犯,但你的意思是什么,“它就像是一个更新,表内的数值是在取数组”?这是否意味着您要从数据库中的表中获取行,其中'$ id'等于该表的id? – Makudex

相关问题