2011-03-29 56 views
0

我正在为我们正在进行的展会制作一个小程序。 它正在为每个展会吐出一块关于它的信息。获取一个<input>按钮来携带一个变量?

我想在每个块中添加一个“编辑”按钮,带我到一个页面,在那里我可以编辑特定的展会。

我怎样才能得到编辑按钮带来该块的ID?

如果我创建Value $ id,那么我可以带上它,但是因为value也是按钮上的标签,它表示一个数字(id)而不是Edit,这不是很漂亮。

有人能帮我一下吗? :)

+2

你能发表一些代码吗?包含您的编辑按钮的示例块将会很棒。 – drudge 2011-03-29 22:08:40

+2

发布一些代码,特别是你的

+0

我并不完全相信我明白为什么要发布该价值。使用链接并通过GET获取ID不会更容易吗? – cbrandolino 2011-03-29 22:20:54

回答

2

您可以在形式包装每个按钮,像这样:

<form action="/edit/42"><button type="submit">Edit</button></form> 

不要忘记使用合适的CSS样式为新的表单元素。

您也可以使用JavaScript附加任何您想要的行为。存储ID的数据属性,像这样:

<button data-edit-id="42">Edit</button> 
// In JavaScript (with jQuery) 
$('button').click(function(ev) { 
    location.href = '/edit/' + $(ev.target).attr('data-edit-id'); 
}); 
+0

+1更好的REST设计。如果你正在用'id = 42'编辑项目,当然你应该发送你的请求到一个以'/ 42'结尾的URL。 – 2011-03-29 22:38:56

0

我想补充形式为每个块(如果它isn't已经在那里...),并与ID添加一个隐藏字段。

0

使用按钮的click事件将id设置为隐藏字段,然后提交表单。

另一种方法是让每个按钮都采用不同的形式,每个按钮都有不同的动作(对应于要编辑的项目)。根据您的标记,它可能不适用。

0

我平时滥用name吧:

<input type="submit" name="edit[123]" value="edit"> 

接收代码:

if(isset($_POST['edit'])){ 
    $id = key($_POST['edit']); 
} 
0

我不明白你为什么会想在这种情况下要使用的按钮。我认为你应该包含一个指向编辑表单的可点击图标。从我可以告诉的是,你的信息块是<form>格式的原因不明,当他们应该在一个表或整齐排列的div集。

我建议你创建一个链接,然后在其他页面使用$_GET['id']编辑该条目:

<a href="/edit/?id=<?php echo $tradeshowID; ?>"><img src="/icons/edit.png"></a> 

或者我不明白你的问题按钮的目的是什么?