JSON通过表单发送数据

时间:2013-12-11 16:02:42

标签: php json uploadify

我买了uploadifive脚本,想要改变一些东西。 我添加了一个名为“name”的文本字段和一个名为“about”的文本字段。

Uploadifive附带的基本脚本是:

形式:

    <form action="<?php echo $domein.'/uploadstap2.php'; ?>" method="post" name="THEFORM">
    <input name="naam" type="text">
    <div id="queue"></div>
    <input id="file_upload" name="file_upload" type="file" multiple>
    <a style="position: relative; top: 8px;" href="javascript:$('#file_upload').uploadifive('upload')">Upload Files</a>
</form>

剧本:

<script type="text/javascript">
    <?php $timestamp = time();?>
    $(function() {
        $('#file_upload').uploadifive({
            'auto'             : false,
            'checkScript'      : 'check-exists.php',
            'queueID'          : 'queue',
            'uploadScript'     : 'uploadifive.php',
            'onUploadComplete' : function(file, data) { console.log(data); }
        });
    });
</script>

创建者在webppage上写了以下内容:

  

包含要发送到服务器端上载脚本的其他数据的JSON对象。   通过此选项发送的数据将通过标头发送,并可通过$ _POST数组访问(如果使用'post'方法)。因此,如果您发送类似{'someKey':'someValue'}的内容,则可以将其作为$ _POST ['someKey']进行访问。

Dus,ik kan dit doen:

<script type="text/javascript">
    <?php $timestamp = time();?>
    $(function() {
        $('#file_upload').uploadifive({
            'auto'             : false,
            'checkScript'      : 'check-exists.php',
            'formData'         : {'someKey' : 'someValue'},   !!!!!!! <<<< this is what i just added >>>>!!!!!
            'queueID'          : 'queue',
            'uploadScript'     : 'uploadifive.php',
            'onUploadComplete' : function(file, data) { console.log(data); }
        });
    });
</script>

但我需要人们在“name”和“about”中输入的值才能在uploadComplete上发送。 我如何发送这些值而不是:{'someKey':'someValue'}

有人能帮助我吗?

2 个答案:

答案 0 :(得分:1)

您可以尝试$('input[name=something]').val()(其中某些内容是您输入的名称),以通过检查元素的名称来获取文本框的值。 您可以像这样使用

'formData' :{name:$('input[name=name]').val(),about:$('input[name=about]').val()}

答案 1 :(得分:0)

您的HTML表单:

   <form>
   <input type="input" id="firstname"> First name </input>
   <button>Submit</button>
   </form>

在你的jquery包装器(或javascript文件)中,这会传递整个变量。

   var someValue = $("#firstname").val();

   $.ajax({
       type: 'POST',
       url: './aProcessorScript.php',
       data: JSON.stringify ({'someKey' : 'someValue'}),
       success: function(data) { alert('data: ' + data); },
       dataType: 'json'
   });