gpt4 book ai didi

php - 在 phonegap 中使用 php 表单

转载 作者:可可西里 更新时间:2023-11-01 01:05:11 25 4
gpt4 key购买 nike

我有asked before寻求帮助让我的 php 表单在 phonegap ipa 中工作。我完全按照我说的去做,一切正常,即使在 ipa 中也是如此。我遇到的唯一问题是我在页面加载时立即收到此警报,显然它应该在客户忘记填写必填字段时显示。

这是我做的:

contact.html 中的 FORM

 <form action="http://mobile.alicante-intermedia.com/submit_contact.php" method="get">
<div class="form-element">
<label for="txtfullname">Firstname</label>
<input id="txtfullname" name="FirstName" type="text" placeholder="required" required />
</div>
<div class="form-element">
<label for="txtemail">Lastname</label>
<input id="txtemail" name="LastName" type="text" placeholder="required" required />
</div>
<div class="form-element">
<label for="txtcontact">Email</label>
<input id="txtcontact" name="Email" type="email" placeholder="optional" />
</div>
<div class="form-element">
<label for="txtmessage">Message</label>
<textarea id="txtmessage" name="MessageText" placeholder="required" rows="5" required ></textarea>
</div>
<input type="button" onclick="submit()" value="submit contact"/>
</form>

然后我创建了一个仅在 conatct.html 中加载的 jquery_form.js 文件

$.post('http://mobile.alicante-intermedia.com/submit_contact.php', {

// These are the names of the form values

FirstName: $('#FirstName_input').val(),
LastName: $('#LastName_input').val(),
Email: $('#Email_input').val(),
MessageText: $('#MessageText_input').val()

// HTML function

}, function (html) {
// Place the HTML in a astring
var response=html;

// PHP was done and email sent
if (response=="success") {
alert("Message sent!");
} else {

// Error postback
alert("Please fill all fields!");
return false;
}
});

PHP 看起来像这样:

<?php

// VARS
$FirstName=$_GET["FirstName"];
$LastName=$_GET["LastName"];
$Email=$_GET["Email"];
$MessageText=$_GET["MessageText"];
$Headers = "From:" . $Email;

//VALIDATION
if(
$FirstName=="" ||
$LastName=="" ||
$Email=="" ||
$MessageText==""
) {
echo "Error";
} else {
mail("myemail@email.com","mobile app message",$MessageText, $Headers);
echo "Success";
}
?>

除了警告屏幕,一切正常。这里有人知道出了什么问题吗?

最佳答案

您的 JavaScript 代码是“裸”的,没有包装在任何函数中或附加到任何事件处理程序,因此在加载后立即执行 - 因此当 jQuery 脚本首次被解析时它会立即发布一个空表单。

将其放入提交按钮的 onclick 事件处理程序中:

// When the document has loaded...
$(document).ready(function() {
// Bind this action as a function to be executed when the button is clicked...
$('input[type="button"][value="submit contact"]').click(function() {
$.post('http://mobile.alicante-intermedia.com/submit_contact.php', {

// These are the names of the form values
// EDIT: You have the wrong ids on these...

FirstName: $('#txtfullname').val(),
LastName: $('#txtemail').val(),
Email: $('#txtcontact').val(),
MessageText: $('#txtmessage').val()

// HTML function

}, function (html) {
// Place the HTML in a astring
var response=html;

// PHP was done and email sent
if (response=="success") {
alert("Message sent!");
} else {

// Error postback
alert("Please fill all fields!");
return false;
}
});
});
});

因为它绑定(bind)在 JavaScript 代码中,所以从标记中的按钮中删除 onclick:

<input type="button" value="submit contact"/>

编辑:

您拥有的 PHP 正在寻找 $_GET 中的值,但您已经从 jQuery 发布了它们。请查看 $_POST

$FirstName=$_POST["FirstName"];
$LastName=$_POST["LastName"];
$Email=$_POST["Email"];
$MessageText=$_POST["MessageText"];

关于php - 在 phonegap 中使用 php 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12711074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com