0

这是 jQuery ajax 部分

function submitTic(){
    $('#form').html("<img src='/img/pleasewait.gif' />");
    namev = $("input[name=name]").val();
    console.log("Namev: "+namev);
    purpv = $("input[name=purp]").val();
    console.log("Purpv: "+namev);
    detailsv = $("textarea[name=details]").val();
    console.log("Detailsv: "+detailsv);
    tov = "<? echo $_GET['t'];?>";
    console.log("Tov: "+tov);
        $.ajax({
            url:"http://<?echo $location;?>/modules/Ticket/new/submit.php",
            type:"POST",
            data:{
                name: namev,
                purp: purpv,
                details: detailsv,
                to: tov
            }
        })
        .always(function(response){
            $('#form').html(response);
        });
}

表格看起来像这样

<div id='form'>
<form>
<table>
    <tr><td class='left'>*Name:</td><td><input type='text' name='name' size='40' required="required"></td></tr>
    <tr><td class='left'>*Purpose:</td><td><input type='text' name='purp' maxlength="100" size='40' placeholder="Example: <?echo $placeholder;?>" required="required"></td></tr>
    <tr><td class='left'>*Details:</td><td><textarea name="details" cols="45" rows="10" maxlength="1000" required="required"></textarea></td></tr>
    <tr><td colspan='2' align='center'><input type='button' onclick="submitTic();" value="Submit Ticket" id='submit' ></td></tr>
</table>
<span id='reqcap'>*Required</span>
<input type="hidden" name="for" value="<? echo $_GET['t'];?>"/>
</form>
</div>

我的问题是,当我提交表单并在另一端捕获它时,$_POST 数组中的唯一部分是“to”变量。我已经尝试将 jQuery 部分移动到数据中,我尝试了除了对变量进行硬编码之外的所有方法,因为这会破坏表单的目的。

在控制台中,我可以使用 $.val 拉取它,但我不能分配给变量。我不知道是怎么回事。有人有想法么?

4

1 回答 1

1

从该代码来看,您正在尝试从表单中获取值,但是您已将整个表单替换为加载图像,因此没有值可获取。尝试做

namev = $("input[name=name]").val();
console.log("Namev: "+namev);
purpv = $("input[name=purp]").val();
console.log("Purpv: "+namev);
detailsv = $("textarea[name=details]").val();
console.log("Detailsv: "+detailsv);
tov = "<? echo $_GET['t'];?>";
$('#form').html("<img src='/img/pleasewait.gif' />");

反而。注意

$('#form').html("<img src='/img/pleasewait.gif' />");

现在是最后一件事,而不是第一件事

于 2013-06-17T18:34:03.643 回答