因此,我在创建用于使用按钮发送预定消息的网页的UI时遇到问题。每个按钮都是它自己的形式,其想法是按下提交按钮以发送唯一的消息。
我现在遇到的问题是我的PHP后端要求form id
属性引用存储在数据库中的邮件收件人,以便知道将邮件发送给谁,所以我不能使用form id
来区分表单,否则后端将失败并且不会发送消息。现在无论按哪个按钮,它都会提交第一个表格。有没有办法让单独的submit
按钮在不使用form id
的情况下提交指定的表单?
以下是我的代码示例,其中显示了问题:
<td>
<form id="<?php echo $row[" id "] ?>" name="hello" method="post" onsubmit="return sendPushNotification('<?php echo $row[" id "] ?>')">
<input type="hidden" name="message" value="hello" />
<input type="hidden" name="regId" value="<?php echo $row[" gcm_regid "] ?>"/>
<input type="submit" class="send_btn" value="Send Hello" />
</form>
</td>
</tr>
<tr>
<td>
<form id="<?php echo $row[" id "] ?>" name="Goodbye" method="post" onsubmit="return sendPushNotification('<?php echo $row[" id "] ?>')">
<input type="hidden" name="message" value="Goodbye!" />
<input type="hidden" name="regId" value="<?php echo $row[" gcm_regid "] ?>"/>
<input type="submit" class="send_btn" value="Send Goodbye" />
</form>
</td>
在这种情况下,两个按钮都会发送&#34;你好&#34;消息,因为它是第一个。任何帮助将不胜感激!
编辑:
以下是sendPushNotification
的javascript,如果有帮助的话
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
});
function sendPushNotification(id){
var data = $('form#'+id).serialize();
$('form#'+id).unbind('submit');
$.ajax({
url: "send_message.php",
type: 'GET',
data: data,
beforeSend: function() {
},
success: function(data, textStatus, xhr) {
$('.txt_message').val("");
},
error: function(xhr, textStatus, errorThrown) {
}
});
return false;
}
</script>
答案 0 :(得分:0)
尝试DEMO
HTML
onsubmit="return sendPushNotification(this);"
JS
function sendPushNotification(formObj){
var data = $(formObj).serialize();
...